Copy disabled (too large)
Download .txt
Showing preview only (32,044K chars total). Download the full file to get everything.
Repository: potree/PotreeDesktop
Branch: master
Commit: 9849498432dc
Files: 223
Total size: 30.5 MB
Directory structure:
gitextract_1c2985fr/
├── .gitignore
├── .vscode/
│ ├── keybindings.json
│ └── settings.json
├── LICENSE
├── PotreeDesktop.bat
├── README.md
├── index.html
├── libs/
│ ├── MeshLine/
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── src/
│ │ └── THREE.MeshLine.js
│ ├── PotreeConverter/
│ │ └── LICENSE_laszip
│ ├── PotreeConverter2/
│ │ ├── README.md
│ │ └── licenses/
│ │ ├── license_brotli.txt
│ │ ├── license_json.txt
│ │ ├── license_laszip.txt
│ │ └── license_potree_converter.txt
│ ├── ZoomableSlider/
│ │ ├── ZoomableSlider.css
│ │ ├── ZoomableSlider.html
│ │ └── ZoomableSlider.js
│ ├── brotli/
│ │ ├── BUILD
│ │ ├── LICENSE
│ │ ├── WORKSPACE
│ │ ├── decode.js
│ │ ├── decode_test.js
│ │ └── polyfill.js
│ ├── d3/
│ │ ├── LICENSE
│ │ └── d3.js
│ ├── ept/
│ │ └── ParseBuffer.js
│ ├── geopackage/
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── geopackage.js
│ ├── i18next/
│ │ └── i18next.js
│ ├── jquery/
│ │ └── jquery-3.1.1.js
│ ├── jquery-ui/
│ │ ├── AUTHORS.txt
│ │ ├── LICENSE.txt
│ │ ├── index.html
│ │ ├── jquery-ui.css
│ │ ├── jquery-ui.structure.css
│ │ ├── jquery-ui.theme.css
│ │ └── package.json
│ ├── json5-2.1.3/
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ └── json5.mjs
│ ├── jstree/
│ │ ├── LICENSE-MIT
│ │ ├── README.md
│ │ ├── jstree.js
│ │ └── themes/
│ │ └── mixed/
│ │ └── style.css
│ ├── openlayers3/
│ │ ├── LICENSE
│ │ ├── ol-deps.js
│ │ ├── ol.css
│ │ └── ol.js
│ ├── other/
│ │ ├── BinaryHeap.js
│ │ └── stats.js
│ ├── plasio/
│ │ ├── LICENSE
│ │ ├── js/
│ │ │ └── laslaz.js
│ │ ├── vendor/
│ │ │ └── bluebird.js
│ │ └── workers/
│ │ ├── laz-loader-worker.js
│ │ └── laz-perf.js
│ ├── potree/
│ │ ├── LICENSE
│ │ ├── lazylibs/
│ │ │ ├── geopackage/
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ └── geopackage.js
│ │ │ └── sql.js/
│ │ │ ├── AUTHORS
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── sql-wasm.js
│ │ │ └── sql-wasm.wasm
│ │ ├── potree.css
│ │ ├── potree.js
│ │ ├── profile.html
│ │ ├── resources/
│ │ │ ├── LICENSE
│ │ │ ├── icons/
│ │ │ │ ├── image_preview.php
│ │ │ │ └── index.html
│ │ │ ├── lang/
│ │ │ │ ├── de/
│ │ │ │ │ └── translation.json
│ │ │ │ ├── dev/
│ │ │ │ │ ├── ns.common.json
│ │ │ │ │ ├── ns.special.json
│ │ │ │ │ └── translation.json
│ │ │ │ ├── en/
│ │ │ │ │ ├── ns.common.json
│ │ │ │ │ ├── ns.special.json
│ │ │ │ │ └── translation.json
│ │ │ │ ├── en-US/
│ │ │ │ │ ├── ns.common.json
│ │ │ │ │ ├── ns.special.json
│ │ │ │ │ └── translation.json
│ │ │ │ ├── es/
│ │ │ │ │ └── translation.json
│ │ │ │ ├── fr/
│ │ │ │ │ └── translation.json
│ │ │ │ ├── it/
│ │ │ │ │ └── translation.json
│ │ │ │ ├── jp/
│ │ │ │ │ └── translation.json
│ │ │ │ ├── se/
│ │ │ │ │ └── translation.json
│ │ │ │ └── zh/
│ │ │ │ └── translation.json
│ │ │ ├── models/
│ │ │ │ ├── stanford_bunny_reduced.mtl
│ │ │ │ ├── stanford_bunny_reduced.obj
│ │ │ │ └── stanford_bunny_reduced.ply
│ │ │ ├── shapefiles/
│ │ │ │ ├── south_sorvilier.dbf
│ │ │ │ └── south_sorvilier.shp
│ │ │ └── textures/
│ │ │ ├── LICENSE
│ │ │ ├── matcap/
│ │ │ │ └── blender_matcap_license.txt
│ │ │ ├── skybox/
│ │ │ │ └── skyboxsun25degtest.txt
│ │ │ ├── skybox2/
│ │ │ │ └── README.TXT
│ │ │ └── skyboxsun25degtest.txt
│ │ ├── sidebar.html
│ │ └── workers/
│ │ ├── 2.0/
│ │ │ ├── DecoderWorker.js
│ │ │ └── DecoderWorker_brotli.js
│ │ ├── BinaryDecoderWorker.js
│ │ ├── EptBinaryDecoderWorker.js
│ │ ├── EptLaszipDecoderWorker.js
│ │ ├── EptZstandardDecoderWorker.js
│ │ ├── LASDecoderWorker.js
│ │ └── LASLAZWorker.js
│ ├── proj4/
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ └── proj4.js
│ ├── shapefile/
│ │ └── shapefile.js
│ ├── spectrum/
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── spectrum.css
│ │ └── spectrum.js
│ ├── sql.js/
│ │ ├── AUTHORS
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── sql-wasm.js
│ │ └── sql-wasm.wasm
│ ├── three.js/
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── build/
│ │ │ ├── three.js
│ │ │ └── three.module.js
│ │ ├── extra/
│ │ │ ├── GLTFLoader.js
│ │ │ ├── VRButton.js
│ │ │ ├── XRControllerModelFactory.js
│ │ │ ├── lines/
│ │ │ │ ├── Line2.js
│ │ │ │ ├── LineGeometry.js
│ │ │ │ ├── LineMaterial.js
│ │ │ │ ├── LineSegments2.js
│ │ │ │ ├── LineSegmentsGeometry.js
│ │ │ │ ├── Wireframe.js
│ │ │ │ └── WireframeGeometry2.js
│ │ │ └── lines.js
│ │ ├── libs/
│ │ │ ├── dat.gui.module.js
│ │ │ ├── meshopt_decoder.module.js
│ │ │ ├── mmdparser.module.js
│ │ │ ├── motion-controllers.module.js
│ │ │ ├── stats.module.js
│ │ │ └── zstddec.module.js
│ │ ├── lines/
│ │ │ ├── Line2.js
│ │ │ ├── LineGeometry.js
│ │ │ ├── LineMaterial.js
│ │ │ ├── LineSegments2.js
│ │ │ ├── LineSegmentsGeometry.js
│ │ │ ├── Wireframe.js
│ │ │ └── WireframeGeometry2.js
│ │ ├── loaders/
│ │ │ ├── 3DMLoader.js
│ │ │ ├── 3MFLoader.js
│ │ │ ├── AMFLoader.js
│ │ │ ├── AssimpLoader.js
│ │ │ ├── BVHLoader.js
│ │ │ ├── BasisTextureLoader.js
│ │ │ ├── ColladaLoader.js
│ │ │ ├── DDSLoader.js
│ │ │ ├── DRACOLoader.js
│ │ │ ├── EXRLoader.js
│ │ │ ├── FBXLoader.js
│ │ │ ├── GCodeLoader.js
│ │ │ ├── GLTFLoader.js
│ │ │ ├── HDRCubeTextureLoader.js
│ │ │ ├── KMZLoader.js
│ │ │ ├── KTX2Loader.js
│ │ │ ├── KTXLoader.js
│ │ │ ├── LDrawLoader.js
│ │ │ ├── LUT3dlLoader.js
│ │ │ ├── LUTCubeLoader.js
│ │ │ ├── LWOLoader.js
│ │ │ ├── LottieLoader.js
│ │ │ ├── MD2Loader.js
│ │ │ ├── MDDLoader.js
│ │ │ ├── MMDLoader.js
│ │ │ ├── MTLLoader.js
│ │ │ ├── NRRDLoader.js
│ │ │ ├── NodeMaterialLoader.js
│ │ │ ├── OBJLoader.js
│ │ │ ├── OBJLoader2.js
│ │ │ ├── OBJLoader2Parallel.js
│ │ │ ├── PCDLoader.js
│ │ │ ├── PDBLoader.js
│ │ │ ├── PLYLoader.js
│ │ │ ├── PRWMLoader.js
│ │ │ ├── PVRLoader.js
│ │ │ ├── RGBELoader.js
│ │ │ ├── STLLoader.js
│ │ │ ├── SVGLoader.js
│ │ │ ├── TDSLoader.js
│ │ │ ├── TGALoader.js
│ │ │ ├── TTFLoader.js
│ │ │ ├── TiltLoader.js
│ │ │ ├── VOXLoader.js
│ │ │ ├── VRMLLoader.js
│ │ │ ├── VRMLoader.js
│ │ │ ├── VTKLoader.js
│ │ │ ├── XLoader.js
│ │ │ ├── XYZLoader.js
│ │ │ ├── lwo/
│ │ │ │ ├── IFFParser.js
│ │ │ │ ├── LWO2Parser.js
│ │ │ │ └── LWO3Parser.js
│ │ │ └── obj2/
│ │ │ ├── OBJLoader2Parser.js
│ │ │ ├── bridge/
│ │ │ │ └── MtlObjBridge.js
│ │ │ ├── shared/
│ │ │ │ ├── MaterialHandler.js
│ │ │ │ └── MeshReceiver.js
│ │ │ ├── utils/
│ │ │ │ └── CodeSerializer.js
│ │ │ └── worker/
│ │ │ ├── main/
│ │ │ │ └── WorkerExecutionSupport.js
│ │ │ └── parallel/
│ │ │ ├── OBJLoader2JsmWorker.js
│ │ │ └── WorkerRunner.js
│ │ └── webxr/
│ │ ├── ARButton.js
│ │ ├── VRButton.js
│ │ ├── XRControllerModelFactory.js
│ │ ├── XRHandModelFactory.js
│ │ ├── XRHandOculusMeshModel.js
│ │ └── XRHandPrimitiveModel.js
│ ├── tween/
│ │ ├── LICENSE.txt
│ │ ├── README.txt
│ │ └── Tween.js
│ └── zstd-codec/
│ └── bundle.js
├── main.js
├── package.json
└── src/
├── desktop.css
└── desktop.js
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
node_modules
package-lock.json
libs/Cesium
================================================
FILE: .vscode/keybindings.json
================================================
// Place your key bindings in this file to overwrite the defaults
[
{
"key": "ctrl+l",
"command": "editor.action.deleteLines",
"when": "editorTextFocus && !editorReadonly"
},{
"key": "ctrl+shift+i",
"command": "editor.action.toggleRenderWhitespace"
},{
"key": "ctrl+d",
"command": "editor.action.copyLinesDownAction",
"when": "editorTextFocus"
},{
"key": "alt+2",
"command": "type",
"args": {
"text": "`"
}
}
]
================================================
FILE: .vscode/settings.json
================================================
{
"workbench.editor.enablePreview": false,
"files.associations": {
"*.vs": "cpp",
"*.fs": "cpp"
},
"files.trimTrailingWhitespace": false,
"editor.fontSize": 28,
"editor.autoIndent": "advanced",
"editor.detectIndentation": false,
"editor.insertSpaces": false,
"editor.minimap.enabled": false,
"editor.autoClosingBrackets": "never",
"editor.formatOnType": false,
"editor.acceptSuggestionOnEnter": "off",
"editor.acceptSuggestionOnCommitCharacter": false,
"editor.mouseWheelZoom": true,
"editor.renderWhitespace": "all",
"editor.autoClosingQuotes": "never",
"editor.autoSurround": "never",
}
================================================
FILE: LICENSE
================================================
============
== POTREE ==
============
http://potree.org
Copyright (c) 2011-2020, Markus Schütz
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The views and conclusions contained in the software and documentation are those
of the authors and should not be interpreted as representing official policies,
either expressed or implied, of the FreeBSD Project.
================================================
FILE: PotreeDesktop.bat
================================================
start ./node_modules/electron/dist/electron.exe ./main
================================================
FILE: README.md
================================================
# About
A desktop/portable version of the web-based point cloud viewer [Potree](https://github.com/potree/potree), thanks to [Electron](https://electronjs.org/).
* This version allows you to load [converted point clouds](https://github.com/potree/PotreeConverter) from your hard disc or USB drive. It's also portable so you can put your models together with the viewer on a USB drive and open it wherever you go.
* It's only been tested on windows at the moment. It may not work on other systems or you may only be able to use it on the same Operating System that you've initially built it on.
* Modify index.html to change which point cloud should be loaded by default.
* You can also drag&drop cloud.js files into the window to add point clouds to the scene.
* This desktop version is in a prototype state and as such it may be a bit awkward to use at times.
In order to reset the viewer, you'll have to click "window->reload".
# LICENSE
* BSD 2-clause license. (free to use, preservation of copyright notice/attribute when redistributing)
# Getting Started
* Install [Node.js](https://nodejs.org/en/)
* Execute PotreeDesktop.bat
* Drag and Drop a las or laz file to convert and load it.
* Drag and Drop a previously converted point cloud to load it.
================================================
FILE: index.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="description" content="">
<meta name="author" content="">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
<title>Potree Viewer</title>
<link rel="stylesheet" type="text/css" href="./libs/potree/potree.css">
<link rel="stylesheet" type="text/css" href="./libs/jquery-ui/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="./libs/openlayers3/ol.css">
<link rel="stylesheet" type="text/css" href="./libs/spectrum/spectrum.css">
<link rel="stylesheet" type="text/css" href="./libs/jstree/themes/mixed/style.css">
<link rel="stylesheet" type="text/css" href="./src/desktop.css">
<style>
</style>
</head>
<body>
<span id="pointcloud_file_dropzone" class="droproot">
<span style="position:absolute; left: 0px; right: 0px; top: 0px; bottom: 0px" class="dropzone">
<span class="middle">
<p class="dropzone_title">Convert and/or Load point clouds</p>
<ul class="dropzone_text">
<li>Drop LAS/LAZ files to convert and load them.</li>
<li>Drop folders to convert and load all files inside.</li>
<li>Drop previously converted cloud.js, metadata.json or containing directy to load.</li>
</ul>
</span>
</span>
</span>
<span id="converter_panel" class="middle">
<div class="converter_panel_widget">
Target Directory: <br>
<span style="display: flex">
<input id="converter_panel_target_directory" type="textfield" style="flex-grow: 1">
<!-- <span style="width: 0.2em"></span>
<input id="converter_panel_pick_target_directory" type="button" value="..."> -->
</span>
<div id="converter_panel_target_directory_warning" style="color: red">
</div>
</div>
<div class="converter_panel_widget">
Input Files:
<div id="converter_panel_files" class="converter_panel_list">
<div>file 1</div>
<div>file 2</div>
<div>file 3</div>
<div>file 4</div>
<div>file 5</div>
<div>file 6</div>
<div>file 7</div>
<div>file 8</div>
</div>
</div>
<br>
<div class="converter_panel_widget">
Choose a Converter:
<div class="selection_buttons">
<input type="radio" id="selection_converter_version_1_7"
name="selection_converter_version" value="all">
<label for="selection_converter_version_1_7" class="left">
<span class="title">PotreeConverter 1.7</span>
<ul>
<li>Older version that generates 1 file per octree node.</li>
<li>Try of PotreeConverter 2.0 causes issues.</li>
</ul>
</label>
<input type="radio" id="selection_converter_version_2_0"
name="selection_converter_version" value="false" checked>
<label for="selection_converter_version_2_0" class="right" >
<span class="title">PotreeConverter 2.0</span>
<ul>
<li>Complete rewrite that generates a total of 3 files instead of thousands to millions.</li>
</ul>
</label>
</div>
</div>
<p>
<span style="display: flex">
<span style="flex-grow: 1"></span>
<input type="button" value="Start Conversion" id="converter_panel_start"/>
<span style="width:1em"></span>
<input type="button" value="Cancel" id="converter_panel_cancel"/>
</span>
</p>
</span>
<script>if (typeof module === 'object') {window.module = module; module = undefined;}</script>
<script src="./libs/jquery/jquery-3.1.1.min.js"></script>
<script src="./libs/spectrum/spectrum.js"></script>
<script src="./libs/jquery-ui/jquery-ui.min.js"></script>
<script src="./libs/other/BinaryHeap.js"></script>
<script src="./libs/tween/tween.min.js"></script>
<script src="./libs/d3/d3.js"></script>
<script src="./libs/proj4/proj4.js"></script>
<script src="./libs/openlayers3/ol.js"></script>
<script src="./libs/i18next/i18next.js"></script>
<script src="./libs/jstree/jstree.js"></script>
<script src="./libs/potree/potree.js"></script>
<script src="./libs/plasio/js/laslaz.js"></script>
<script>
let elSplatQuality = $("#converter_choice");
elSplatQuality.selectgroup({title: "Converter Choice"});
elSplatQuality.find("input").click( (e) => {
console.log(e.target.value);
// if(e.target.value === "standard"){
// this.viewer.useHQ = false;
// }else if(e.target.value === "hq"){
// this.viewer.useHQ = true;
// }
});
</script>
<div class="potree_container" style="position: absolute; width: 100%; height: 100%; left: 0px; top: 0px; ">
<div id="potree_render_area"></div>
<div id="potree_sidebar_container"> </div>
</div>
<script type="module">
import {
loadDroppedPointcloud,
createPlaceholder,
convert_17,
convert_20,
doConversion,
dragEnter, dragOver, dragLeave, dropHandler,
} from "./src/desktop.js";
{
// open links in the standard browser instead of electron
// see https://github.com/electron/electron/issues/1344
const shell = require('electron').shell;
$(document).on('click', 'a[href^="http"]', function(event) {
event.preventDefault();
shell.openExternal(this.href);
});
}
let elBody = document.body;
elBody.addEventListener("dragenter", dragEnter, false);
elBody.addEventListener("dragover", dragOver, false);
elBody.addEventListener("dragleave", dragLeave, false);
elBody.addEventListener("drop", dropHandler, false);
let elRenderArea = document.getElementById("potree_render_area");
let viewerArgs = {
noDragAndDrop: true,
};
window.viewer = new Potree.Viewer(elRenderArea, viewerArgs);
viewer.setEDLEnabled(true);
viewer.setFOV(60);
viewer.setPointBudget(3*1000*1000);
viewer.setMinNodeSize(0);
viewer.loadSettingsFromURL();
viewer.setDescription("");
viewer.loadGUI(() => {
viewer.setLanguage('en');
$("#menu_appearance").next().show();
$("#menu_tools").next().show();
$("#menu_scene").next().show();
$("#menu_filters").next().show();
viewer.toggleSidebar();
// let section = $(`
// <h3 id="menu_meta" class="accordion-header ui-widget"><span>Prototyping</span></h3>
// <div class="accordion-content ui-widget pv-menu-list"></div>
// `);
// let content = section.last();
// content.html(`
// <div class="pv-menu-list">
// <input id="btnExportLaz" type="button" value="export selection to LAZ"/>
// </div>
// `);
// section.first().click(() => content.slideToggle());
// section.insertBefore($('#menu_appearance'));
// let button = $("#btnExportLaz");
// button.click( () => {
// const {normalize} = require("path");
// let pointclouds = viewer.scene.pointclouds; //[0].pcoGeometry.url
// //let cmdInput = pointclouds.map(p => normalize(`${p.pcoGeometry.url}/../`)).join( );
// let inputPaths = pointclouds.map(p => normalize(`${p.pcoGeometry.url}/../`));
// let volumes = viewer.scene.volumes;
// let matrices = volumes.map(v => v.matrix.elements);
// let cmdArea = "";
// for(let matrix of matrices){
// let cmd = `matrix(${matrix.join(", ")})`;
// cmdArea += `${cmd} `;
// }
// let suggestedPath = normalize(viewer.scene.pointclouds[0].pcoGeometry.url + "/../../export.las");
// const dialog = require('electron').remote.dialog;
// const chosenPath = dialog.showSaveDialogSync(null, {
// title: "Chose Export Path",
// defaultPath: suggestedPath,
// buttonLabel: "Select",
// filters: [],
// properties: ["openDirectory ", "promptToCreate", "createDirectory"],
// });
// if(!chosenPath){
// return;
// }
// // let cmd = `${cmdInput} -o ${chosenPath} ${cmdArea}`;
// const { spawn } = require('child_process');
// let exe = './libs/CPotree/filter.exe';
// let parameters = [
// ...inputPaths,
// "-o", chosenPath,
// "--area", cmdArea
// ];
// console.log(parameters);
// const converter = spawn(exe, parameters);
// converter.stdout.on('data', (data) => {
// const string = new TextDecoder("utf-8").decode(data);
// console.log("stdout", string);
// });
// converter.stderr.on('data', (data) => {
// console.log("==");
// console.error(`stderr: ${data}`);
// });
// converter.on('close', (code) => {
// console.log(`child process exited with code ${code}`);
// });
// });
});
// load a file from your disc or USB drive:
//Potree.loadPointCloud("C:/dev/workspaces/potree/develop/pointclouds/lion_takanawa/cloud.js", "Point Cloud Name", function(e){
//Potree.loadPointCloud("http://5.9.65.151/mschuetz/potree/resources/pointclouds/archpro/heidentor/cloud.js", "Point Cloud Name", function(e){
// viewer.scene.addPointCloud(e.pointcloud);
// e.pointcloud.position.z = 0;
// let material = e.pointcloud.material;
// material.size = 1;
// material.pointSizeType = Potree.PointSizeType.ADAPTIVE;
// viewer.scene.view.position.set(13.856734292740617, -9.125174923658731, 14.563928417406354);
// viewer.scene.view.lookAt(-3.5482630104475366, 2.728596783815762, 6.1406044783018725);
//});
//Potree.loadPointCloud("C:/dev/pointclouds/ot_35120C7102A_1/cloud.js", "CA13", e => {
////Potree.loadPointCloud("../pointclouds/C/dev/pointclouds/test/cloud.js", "sigeom.sa", e => {
// let scene = viewer.scene;
// let pointcloud = e.pointcloud;
//
// let material = pointcloud.material;
// material.size = 3;
// material.pointSizeType = Potree.PointSizeType.FIXED;
// material.pointColorType = Potree.PointColorType.SOURCE;
// material.shape = Potree.PointShape.SQUARE;
//
// scene.addPointCloud(pointcloud);
//
// scene.view.position.set(693195.575, 3915628.878, 472.872);
// scene.view.lookAt(693747.110, 3916033.332, 33.996);
//});
// viewer.onGUILoaded(() => {
// let message = `
// Welcome to Potree Desktop.<br>
// <p>
// This portable version can be used to load <a href="https://github.com/potree/PotreeConverter", target="_blank"> converted point clouds</a>
// directly from disk. Just drag & drop a cloud.js file, or it's parent folder, into this window.
// </p>
// <p>
// You can set up a default scene by modifying the index.html file in the potree desktop folder.
// </p>
// `;
// //viewer.postMessage(message);
// viewer.postMessage(message, {duration: 15000});
// });
window.addEventListener('error', (e) => {
//console.log(e);
viewer.postError(e.error.message);
});
</script>
</body>
</html>
================================================
FILE: libs/MeshLine/LICENSE
================================================
MIT License
Copyright (c) 2016 Jaume Sanchez
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: libs/MeshLine/README.md
================================================
# MeshLine
Mesh replacement for ```THREE.Line```
Instead of using GL_LINE, it uses a strip of triangles billboarded. Some examples:
[](https://www.clicktorelease.com/code/THREE.MeshLine/demo/index.html)
[](https://www.clicktorelease.com/code/THREE.MeshLine/demo/graph.html)
[](https://www.clicktorelease.com/code/THREE.MeshLine/demo/spinner.html)
[](https://www.clicktorelease.com/code/THREE.MeshLine/demo/svg.html)
[](https://www.clicktorelease.com/code/THREE.MeshLine/demo/shape.html)
[](https://www.clicktorelease.com/code/THREE.MeshLine/demo/birds.html)
* [Demo](https://www.clicktorelease.com/code/THREE.MeshLine/demo/index.html): play with the different settings of materials
* [Graph](https://www.clicktorelease.com/code/THREE.MeshLine/demo/graph.html): example of using ```MeshLine``` to plot graphs
* [Spinner](https://www.clicktorelease.com/code/THREE.MeshLine/demo/spinner.html): example of dynamic ```MeshLine``` with texture
* [SVG](https://www.clicktorelease.com/code/THREE.MeshLine/demo/svg.html): example of ```MeshLine``` rendering SVG Paths
* [Shape](https://www.clicktorelease.com/code/THREE.MeshLine/demo/shape.html): example of ```MeshLine``` created from a mesh
* [Birds](https://www.clicktorelease.com/code/THREE.MeshLine/demo/birds.html): example of ```MeshLine.advance()``` by @caramelcode (Jared Sprague) and @mwcz (Michael Clayton)
### How to use ####
* Include script
* Create and populate a geometry
* Create a MeshLine and assign the geometry
* Create a MeshLineMaterial
* Use MeshLine and MeshLineMaterial to create a THREE.Mesh
#### Include the script
Include script after THREE is included
```js
<script src="THREE.MeshLine.js"></script>
```
or use npm to install it
```
npm i three.meshline
```
and include it in your code (don't forget to require three.js)
```js
var THREE = require( 'three' );
var MeshLine = require( 'three.meshline' );
```
##### Create and populate a geometry #####
First, create the list of vertices that will define the line. ```MeshLine``` accepts ```THREE.Geometry``` (looking up the ```.vertices``` in it) and ```Array```/```Float32Array```. ```THREE.BufferGeometry``` coming soon, and may be others like ```Array``` of ```THREE.Vector3```.
```js
var geometry = new THREE.Geometry();
for( var j = 0; j < Math.PI; j += 2 * Math.PI / 100 ) {
var v = new THREE.Vector3( Math.cos( j ), Math.sin( j ), 0 );
geometry.vertices.push( v );
}
```
##### Create a MeshLine and assign the geometry #####
Once you have that, you can create a new ```MeshLine```, and call ```.setGeometry()``` passing the vertices.
```js
var line = new MeshLine();
line.setGeometry( geometry );
```
Note: ```.setGeometry``` accepts a second parameter, which is a function to define the width in each point along the line. By default that value is 1, making the line width 1 * lineWidth.
```js
line.setGeometry( geometry, function( p ) { return 2; } ); // makes width 2 * lineWidth
line.setGeometry( geometry, function( p ) { return 1 - p; } ); // makes width taper
line.setGeometry( geometry, function( p ) { return 2 + Math.sin( 50 * p ); } ); // makes width sinusoidal
```
##### Create a MeshLineMaterial #####
A ```MeshLine``` needs a ```MeshLineMaterial```:
```js
var material = new MeshLineMaterial();
```
By default it's a white material of width 1 unit.
```MeshLineMaterial``` has several attributes to control the appereance of the ```MeshLine```:
* ```map``` - a ```THREE.Texture``` to paint along the line (requires ```useMap``` set to true)
* ```useMap``` - tells the material to use ```map``` (0 - solid color, 1 use texture)
* ```alphaMap``` - a ```THREE.Texture``` to use as alpha along the line (requires ```useAlphaMap``` set to true)
* ```useAlphaMap``` - tells the material to use ```alphaMap``` (0 - no alpha, 1 modulate alpha)
* ```repeat``` - THREE.Vector2 to define the texture tiling (applies to map and alphaMap - MIGHT CHANGE IN THE FUTURE)
* ```color``` - ```THREE.Color``` to paint the line width, or tint the texture with
* ```opacity``` - alpha value from 0 to 1 (requires ```transparent``` set to ```true```)
* ```alphaTest``` - cutoff value from 0 to 1
* ```dashArray``` - THREE.Vector2 to define the dashing (NOT IMPLEMENTED YET)
* ```resolution``` - ```THREE.Vector2``` specifying the canvas size (REQUIRED)
* ```sizeAttenuation``` - makes the line width constant regardless distance (1 unit is 1px on screen) (0 - attenuate, 1 - don't attenuate)
* ```lineWidth``` - float defining width (if ```sizeAttenuation``` is true, it's world units; else is screen pixels)
* ```near``` - camera near clip plane distance (REQUIRED if ```sizeAttenuation``` set to false)
* ```far``` - camera far clip plane distance (REQUIRED if ```sizeAttenuation``` set to false)
If you're rendering transparent lines or using a texture with alpha map, you should set ```depthTest``` to ```false```, ```transparent``` to ```true``` and ```blending``` to an appropriate blending mode, or use ```alphaTest```.
##### Use MeshLine and MeshLineMaterial to create a THREE.Mesh #####
Finally, we create a mesh and add it to the scene:
```js
var mesh = new THREE.Mesh( line.geometry, material ); // this syntax could definitely be improved!
scene.add( mesh );
```
### TODO ###
* Better miters
* Proper sizes
* Support for dashArray
### Support ###
Tested successfully on
* Chrome OSX, Windows, Android
* Firefox OSX, Windows, Anroid
* Safari OSX, iOS
* Internet Explorer 11 (SVG and Shape demo won't work because they use Promises)
* Opera OSX, Windows
### References ###
* [Drawing lines is hard](http://mattdesl.svbtle.com/drawing-lines-is-hard)
* [WebGL rendering of solid trails](http://codeflow.org/entries/2012/aug/05/webgl-rendering-of-solid-trails/)
* [Drawing Antialiased Lines with OpenGL](https://www.mapbox.com/blog/drawing-antialiased-lines/)
#### License ####
MIT licensed
Copyright (C) 2015-2016 Jaume Sanchez Elias, http://www.clicktorelease.com
================================================
FILE: libs/MeshLine/src/THREE.MeshLine.js
================================================
;(function() {
"use strict";
var root = this
var has_require = typeof require !== 'undefined'
var THREE = root.THREE || has_require && require('three')
if( !THREE )
throw new Error( 'MeshLine requires three.js' )
function MeshLine() {
this.positions = [];
this.previous = [];
this.next = [];
this.side = [];
this.width = [];
this.indices_array = [];
this.uvs = [];
this.counters = [];
this.geometry = new THREE.BufferGeometry();
this.widthCallback = null;
}
MeshLine.prototype.setGeometry = function( g, c ) {
this.widthCallback = c;
this.positions = [];
this.counters = [];
if( g instanceof THREE.Geometry ) {
for( var j = 0; j < g.vertices.length; j++ ) {
var v = g.vertices[ j ];
var c = j/g.vertices.length;
this.positions.push( v.x, v.y, v.z );
this.positions.push( v.x, v.y, v.z );
this.counters.push(c);
this.counters.push(c);
}
}
if( g instanceof THREE.BufferGeometry ) {
// read attribute positions ?
}
if( g instanceof Float32Array || g instanceof Array ) {
for( var j = 0; j < g.length; j += 3 ) {
var c = j/g.length;
this.positions.push( g[ j ], g[ j + 1 ], g[ j + 2 ] );
this.positions.push( g[ j ], g[ j + 1 ], g[ j + 2 ] );
this.counters.push(c);
this.counters.push(c);
}
}
this.process();
}
MeshLine.prototype.compareV3 = function( a, b ) {
var aa = a * 6;
var ab = b * 6;
return ( this.positions[ aa ] === this.positions[ ab ] ) && ( this.positions[ aa + 1 ] === this.positions[ ab + 1 ] ) && ( this.positions[ aa + 2 ] === this.positions[ ab + 2 ] );
}
MeshLine.prototype.copyV3 = function( a ) {
var aa = a * 6;
return [ this.positions[ aa ], this.positions[ aa + 1 ], this.positions[ aa + 2 ] ];
}
MeshLine.prototype.process = function() {
var l = this.positions.length / 6;
this.previous = [];
this.next = [];
this.side = [];
this.width = [];
this.indices_array = [];
this.uvs = [];
for( var j = 0; j < l; j++ ) {
this.side.push( 1 );
this.side.push( -1 );
}
var w;
for( var j = 0; j < l; j++ ) {
if( this.widthCallback ) w = this.widthCallback( j / ( l -1 ) );
else w = 1;
this.width.push( w );
this.width.push( w );
}
for( var j = 0; j < l; j++ ) {
this.uvs.push( j / ( l - 1 ), 0 );
this.uvs.push( j / ( l - 1 ), 1 );
}
var v;
if( this.compareV3( 0, l - 1 ) ){
v = this.copyV3( l - 2 );
} else {
v = this.copyV3( 0 );
}
this.previous.push( v[ 0 ], v[ 1 ], v[ 2 ] );
this.previous.push( v[ 0 ], v[ 1 ], v[ 2 ] );
for( var j = 0; j < l - 1; j++ ) {
v = this.copyV3( j );
this.previous.push( v[ 0 ], v[ 1 ], v[ 2 ] );
this.previous.push( v[ 0 ], v[ 1 ], v[ 2 ] );
}
for( var j = 1; j < l; j++ ) {
v = this.copyV3( j );
this.next.push( v[ 0 ], v[ 1 ], v[ 2 ] );
this.next.push( v[ 0 ], v[ 1 ], v[ 2 ] );
}
if( this.compareV3( l - 1, 0 ) ){
v = this.copyV3( 1 );
} else {
v = this.copyV3( l - 1 );
}
this.next.push( v[ 0 ], v[ 1 ], v[ 2 ] );
this.next.push( v[ 0 ], v[ 1 ], v[ 2 ] );
for( var j = 0; j < l - 1; j++ ) {
var n = j * 2;
this.indices_array.push( n, n + 1, n + 2 );
this.indices_array.push( n + 2, n + 1, n + 3 );
}
if (!this.attributes) {
this.attributes = {
position: new THREE.BufferAttribute( new Float32Array( this.positions ), 3 ),
previous: new THREE.BufferAttribute( new Float32Array( this.previous ), 3 ),
next: new THREE.BufferAttribute( new Float32Array( this.next ), 3 ),
side: new THREE.BufferAttribute( new Float32Array( this.side ), 1 ),
width: new THREE.BufferAttribute( new Float32Array( this.width ), 1 ),
uv: new THREE.BufferAttribute( new Float32Array( this.uvs ), 2 ),
index: new THREE.BufferAttribute( new Uint16Array( this.indices_array ), 1 ),
counters: new THREE.BufferAttribute( new Float32Array( this.counters ), 1 )
}
} else {
this.attributes.position.copyArray(new Float32Array(this.positions));
this.attributes.position.needsUpdate = true;
this.attributes.previous.copyArray(new Float32Array(this.previous));
this.attributes.previous.needsUpdate = true;
this.attributes.next.copyArray(new Float32Array(this.next));
this.attributes.next.needsUpdate = true;
this.attributes.side.copyArray(new Float32Array(this.side));
this.attributes.side.needsUpdate = true;
this.attributes.width.copyArray(new Float32Array(this.width));
this.attributes.width.needsUpdate = true;
this.attributes.uv.copyArray(new Float32Array(this.uvs));
this.attributes.uv.needsUpdate = true;
this.attributes.index.copyArray(new Uint16Array(this.indices_array));
this.attributes.index.needsUpdate = true;
}
this.geometry.addAttribute( 'position', this.attributes.position );
this.geometry.addAttribute( 'previous', this.attributes.previous );
this.geometry.addAttribute( 'next', this.attributes.next );
this.geometry.addAttribute( 'side', this.attributes.side );
this.geometry.addAttribute( 'width', this.attributes.width );
this.geometry.addAttribute( 'uv', this.attributes.uv );
this.geometry.addAttribute( 'counters', this.attributes.counters );
this.geometry.setIndex( this.attributes.index );
}
function memcpy (src, srcOffset, dst, dstOffset, length) {
var i
src = src.subarray || src.slice ? src : src.buffer
dst = dst.subarray || dst.slice ? dst : dst.buffer
src = srcOffset ? src.subarray ?
src.subarray(srcOffset, length && srcOffset + length) :
src.slice(srcOffset, length && srcOffset + length) : src
if (dst.set) {
dst.set(src, dstOffset)
} else {
for (i=0; i<src.length; i++) {
dst[i + dstOffset] = src[i]
}
}
return dst
}
/**
* Fast method to advance the line by one position. The oldest position is removed.
* @param position
*/
MeshLine.prototype.advance = function(position) {
var positions = this.attributes.position.array;
var previous = this.attributes.previous.array;
var next = this.attributes.next.array;
var l = positions.length;
// PREVIOUS
memcpy( positions, 0, previous, 0, l );
// POSITIONS
memcpy( positions, 6, positions, 0, l - 6 );
positions[l - 6] = position.x;
positions[l - 5] = position.y;
positions[l - 4] = position.z;
positions[l - 3] = position.x;
positions[l - 2] = position.y;
positions[l - 1] = position.z;
// NEXT
memcpy( positions, 6, next, 0, l - 6 );
next[l - 6] = position.x;
next[l - 5] = position.y;
next[l - 4] = position.z;
next[l - 3] = position.x;
next[l - 2] = position.y;
next[l - 1] = position.z;
this.attributes.position.needsUpdate = true;
this.attributes.previous.needsUpdate = true;
this.attributes.next.needsUpdate = true;
};
function MeshLineMaterial( parameters ) {
var vertexShaderSource = [
'precision highp float;',
'',
'attribute vec3 position;',
'attribute vec3 previous;',
'attribute vec3 next;',
'attribute float side;',
'attribute float width;',
'attribute vec2 uv;',
'attribute float counters;',
'',
'uniform mat4 projectionMatrix;',
'uniform mat4 modelViewMatrix;',
'uniform vec2 resolution;',
'uniform float lineWidth;',
'uniform vec3 color;',
'uniform float opacity;',
'uniform float near;',
'uniform float far;',
'uniform float sizeAttenuation;',
'',
'varying vec2 vUV;',
'varying vec4 vColor;',
'varying float vCounters;',
'',
'vec2 fix( vec4 i, float aspect ) {',
'',
' vec2 res = i.xy / i.w;',
' res.x *= aspect;',
' vCounters = counters;',
' return res;',
'',
'}',
'',
'void main() {',
'',
' float aspect = resolution.x / resolution.y;',
' float pixelWidthRatio = 1. / (resolution.x * projectionMatrix[0][0]);',
'',
' vColor = vec4( color, opacity );',
' vUV = uv;',
'',
' mat4 m = projectionMatrix * modelViewMatrix;',
' vec4 finalPosition = m * vec4( position, 1.0 );',
' vec4 prevPos = m * vec4( previous, 1.0 );',
' vec4 nextPos = m * vec4( next, 1.0 );',
'',
' vec2 currentP = fix( finalPosition, aspect );',
' vec2 prevP = fix( prevPos, aspect );',
' vec2 nextP = fix( nextPos, aspect );',
'',
' float pixelWidth = finalPosition.w * pixelWidthRatio;',
' float w = 1.8 * pixelWidth * lineWidth * width;',
'',
' if( sizeAttenuation == 1. ) {',
' w = 1.8 * lineWidth * width;',
' }',
'',
' vec2 dir;',
' if( nextP == currentP ) dir = normalize( currentP - prevP );',
' else if( prevP == currentP ) dir = normalize( nextP - currentP );',
' else {',
' vec2 dir1 = normalize( currentP - prevP );',
' vec2 dir2 = normalize( nextP - currentP );',
' dir = normalize( dir1 + dir2 );',
'',
' vec2 perp = vec2( -dir1.y, dir1.x );',
' vec2 miter = vec2( -dir.y, dir.x );',
' //w = clamp( w / dot( miter, perp ), 0., 4. * lineWidth * width );',
'',
' }',
'',
' //vec2 normal = ( cross( vec3( dir, 0. ), vec3( 0., 0., 1. ) ) ).xy;',
' vec2 normal = vec2( -dir.y, dir.x );',
' normal.x /= aspect;',
' normal *= .5 * w;',
'',
' vec4 offset = vec4( normal * side, 0.0, 1.0 );',
' finalPosition.xy += offset.xy;',
'',
' gl_Position = finalPosition;',
'',
'}' ];
var fragmentShaderSource = [
'#extension GL_OES_standard_derivatives : enable',
'precision mediump float;',
'',
'uniform sampler2D map;',
'uniform sampler2D alphaMap;',
'uniform float useMap;',
'uniform float useAlphaMap;',
'uniform float useDash;',
'uniform vec2 dashArray;',
'uniform float visibility;',
'uniform float alphaTest;',
'uniform vec2 repeat;',
'',
'varying vec2 vUV;',
'varying vec4 vColor;',
'varying float vCounters;',
'',
'void main() {',
'',
' vec4 c = vColor;',
' if( useMap == 1. ) c *= texture2D( map, vUV * repeat );',
' if( useAlphaMap == 1. ) c.a *= texture2D( alphaMap, vUV * repeat ).a;',
' if( c.a < alphaTest ) discard;',
' if( useDash == 1. ){',
' ',
' }',
' gl_FragColor = c;',
' gl_FragColor.a *= step(vCounters,visibility);',
'}' ];
function check( v, d ) {
if( v === undefined ) return d;
return v;
}
THREE.Material.call( this );
parameters = parameters || {};
this.lineWidth = check( parameters.lineWidth, 1 );
this.map = check( parameters.map, null );
this.useMap = check( parameters.useMap, 0 );
this.alphaMap = check( parameters.alphaMap, null );
this.useAlphaMap = check( parameters.useAlphaMap, 0 );
this.color = check( parameters.color, new THREE.Color( 0xffffff ) );
this.opacity = check( parameters.opacity, 1 );
this.resolution = check( parameters.resolution, new THREE.Vector2( 1, 1 ) );
this.sizeAttenuation = check( parameters.sizeAttenuation, 1 );
this.near = check( parameters.near, 1 );
this.far = check( parameters.far, 1 );
this.dashArray = check( parameters.dashArray, [] );
this.useDash = ( this.dashArray !== [] ) ? 1 : 0;
this.visibility = check( parameters.visibility, 1 );
this.alphaTest = check( parameters.alphaTest, 0 );
this.repeat = check( parameters.repeat, new THREE.Vector2( 1, 1 ) );
var material = new THREE.RawShaderMaterial( {
uniforms:{
lineWidth: { type: 'f', value: this.lineWidth },
map: { type: 't', value: this.map },
useMap: { type: 'f', value: this.useMap },
alphaMap: { type: 't', value: this.alphaMap },
useAlphaMap: { type: 'f', value: this.useAlphaMap },
color: { type: 'c', value: this.color },
opacity: { type: 'f', value: this.opacity },
resolution: { type: 'v2', value: this.resolution },
sizeAttenuation: { type: 'f', value: this.sizeAttenuation },
near: { type: 'f', value: this.near },
far: { type: 'f', value: this.far },
dashArray: { type: 'v2', value: new THREE.Vector2( this.dashArray[ 0 ], this.dashArray[ 1 ] ) },
useDash: { type: 'f', value: this.useDash },
visibility: {type: 'f', value: this.visibility},
alphaTest: {type: 'f', value: this.alphaTest},
repeat: { type: 'v2', value: this.repeat }
},
vertexShader: vertexShaderSource.join( '\r\n' ),
fragmentShader: fragmentShaderSource.join( '\r\n' )
});
delete parameters.lineWidth;
delete parameters.map;
delete parameters.useMap;
delete parameters.alphaMap;
delete parameters.useAlphaMap;
delete parameters.color;
delete parameters.opacity;
delete parameters.resolution;
delete parameters.sizeAttenuation;
delete parameters.near;
delete parameters.far;
delete parameters.dashArray;
delete parameters.visibility;
delete parameters.alphaTest;
delete parameters.repeat;
material.type = 'MeshLineMaterial';
material.setValues( parameters );
return material;
};
MeshLineMaterial.prototype = Object.create( THREE.Material.prototype );
MeshLineMaterial.prototype.constructor = MeshLineMaterial;
MeshLineMaterial.prototype.copy = function ( source ) {
THREE.Material.prototype.copy.call( this, source );
this.lineWidth = source.lineWidth;
this.map = source.map;
this.useMap = source.useMap;
this.alphaMap = source.alphaMap;
this.useAlphaMap = source.useAlphaMap;
this.color.copy( source.color );
this.opacity = source.opacity;
this.resolution.copy( source.resolution );
this.sizeAttenuation = source.sizeAttenuation;
this.near = source.near;
this.far = source.far;
this.dashArray.copy( source.dashArray );
this.useDash = source.useDash;
this.visibility = source.visibility;
this.alphaTest = source.alphaTest;
this.repeat.copy( source.repeat );
return this;
};
if( typeof exports !== 'undefined' ) {
if( typeof module !== 'undefined' && module.exports ) {
exports = module.exports = { MeshLine: MeshLine, MeshLineMaterial: MeshLineMaterial };
}
exports.MeshLine = MeshLine;
exports.MeshLineMaterial = MeshLineMaterial;
}
else {
root.MeshLine = MeshLine;
root.MeshLineMaterial = MeshLineMaterial;
}
}).call(this);
================================================
FILE: libs/PotreeConverter/LICENSE_laszip
================================================
--------------------------------------------------------------------------
LICENSE AGREEMENT (for LASzip LiDAR compression):
LASzip is open-source and is licensed with the standard LGPL version 2.1
(see COPYING.txt) modified by the following static linking exception.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent modules,
and to copy and distribute the resulting executable under terms of your
choice, provided that you also meet, for each linked independent module,
the terms and conditions of the license of that module. An independent
module is a module which is not derived from or based on this library.
If you modify this library, you may extend this exception to your version
of the library, but you are not obliged to do so. If you do not wish to
do so, delete this exception statement from your version.
This software is distributed WITHOUT ANY WARRANTY and without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
--------------------------------------------------------------------------
PROGRAMMERS:
martin@rapidlasso.com
--------------------------------------------------------------------------
COPYRIGHT:
(c) 2007-2015, martin isenburg, rapidlasso - fast tools to catch reality
--------------------------------------------------------------------------
================================================
FILE: libs/PotreeConverter2/README.md
================================================
# About
PotreeConverter generates an octree LOD structure for streaming and real-time rendering of massive point clouds. The results can be viewed in web browsers with [Potree](https://github.com/potree/potree) or as a desktop application with [PotreeDesktop](https://github.com/potree/PotreeDesktop).
Version 2.0 is a complete rewrite with following differences over the previous version 1.7:
* About 10 to 50 times faster than PotreeConverter 1.7 on SSDs.
* Produces a total of 3 files instead of thousands to tens of millions of files. The reduction of the number of files improves file system operations such as copy, delete and upload to servers from hours and days to seconds and minutes.
* Better support for standard LAS attributes and arbitrary extra attributes. Full support (e.g. int64 and uint64) in development.
* Optional compression is not yet available in the new converter but on the roadmap for a future update.
Altough the converter made a major step to version 2.0, the format it produces is also supported by Potree 1.7. The Potree viewer is scheduled to make the major step to version 2.0 in 2021, with a rewrite in WebGPU.
# Publications
* [Potree: Rendering Large Point Clouds in Web Browsers](https://www.cg.tuwien.ac.at/research/publications/2016/SCHUETZ-2016-POT/SCHUETZ-2016-POT-thesis.pdf)
* [Fast Out-of-Core Octree Generation for Massive Point Clouds](https://www.cg.tuwien.ac.at/research/publications/2020/SCHUETZ-2020-MPC/), _Schütz M., Ohrhallinger S., Wimmer M._
# Getting Started
1. Download windows binaries or
* Download source code
* Install [CMake](https://cmake.org/) 3.16 or later
* Create and jump into folder "build"
```
mkdir build
cd build
```
* run
```
cmake ../
```
* On linux, run: ```make```
* On windows, open Visual Studio 2019 Project ./Converter/Converter.sln and compile it in release mode
2. run ```PotreeConverter.exe <input> -o <outputDir>```
* Optionally specify the sampling strategy:
* Poisson-disk sampling (default): ```PotreeConverter.exe <input> -o <outputDir> -m poisson```
* Random sampling: ```PotreeConverter.exe <input> -o <outputDir> -m random```
In Potree, modify one of the examples with following load command:
```javascript
let url = "../pointclouds/D/temp/test/metadata.json";
Potree.loadPointCloud(url).then(e => {
let pointcloud = e.pointcloud;
let material = pointcloud.material;
material.activeAttributeName = "rgba";
material.minSize = 2;
material.pointSizeType = Potree.PointSizeType.ADAPTIVE;
viewer.scene.addPointCloud(pointcloud);
viewer.fitToScreen();
});
```
# Alternatives
PotreeConverter 2.0 produces a very different format than previous iterations. If you find issues, you can still try previous converters or alternatives:
<table>
<tr>
<th></th>
<th>PotreeConverter 2.0</th>
<th><a href="https://github.com/potree/PotreeConverter/releases/tag/1.7">PotreeConverter 1.7</a></th>
<th><a href="https://entwine.io/">Entwine</a></th>
</tr>
<tr>
<th>license</th>
<td>
free, BSD 2-clause
</td>
<td>
free, BSD 2-clause
</td>
<td>
free, LGPL
</td>
</tr>
<tr>
<th>#generated files</th>
<td>
3 files total
</td>
<td>
1 per node
</td>
<td>
1 per node
</td>
</tr>
<tr>
<th>compression</th>
<td>
none (TODO)
</td>
<td>
LAZ (optional)
</td>
<td>
LAZ
</td>
</tr>
</table>
Performance comparison (Ryzen 2700, NVMe SSD):

# License
PotreeConverter is available under the [BSD 2-clause license](./LICENSE).
================================================
FILE: libs/PotreeConverter2/licenses/license_brotli.txt
================================================
Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
================================================
FILE: libs/PotreeConverter2/licenses/license_json.txt
================================================
MIT License
Copyright (c) 2013-2020 Niels Lohmann
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: libs/PotreeConverter2/licenses/license_laszip.txt
================================================
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!
================================================
FILE: libs/PotreeConverter2/licenses/license_potree_converter.txt
================================================
Copyright 2020 Markus Schütz
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
================================================
FILE: libs/ZoomableSlider/ZoomableSlider.css
================================================
.zs_widget{
padding: 2px;
height: 30px;
border: 1px solid green;
user-select: none;
}
.zs_core{
overflow: hidden;
position: relative;
height: 100%;
}
.zs_handle{
position: absolute;
top: 0px;
bottom: 0px;
border: 1px solid green;
background-color: green;
width: 8px;
user-select: none;
}
.zs_handle:hover{
background-color: lightgreen;
}
.zs_inside{
position: absolute;
}
.zs_outside{
position: absolute !important;
width: 100%;
height: 2px;
background-color: black;
top: 50%;
}
.zs_visible_range_label{
position: absolute;
bottom: 0px;
}
.zs_visible_range_label_left{
left: 0px;
}
.zs_visible_range_label_right{
right: 0px;
}
.zs_chosen_range_label{
position: absolute;
}
================================================
FILE: libs/ZoomableSlider/ZoomableSlider.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<link rel="stylesheet" type="text/css" href="ZoomableSlider.css">
</head>
<body>
<div id="target" style="position: absolute; left: 10px; top: 10px; width: 300px;">
</div>
<script src="ZoomableSlider.js"></script>
<script>
let el = document.getElementById("target");
let slider = new ZoomableSlider();
el.appendChild(slider.element);
slider.update();
</script>
</body>
</html>
================================================
FILE: libs/ZoomableSlider/ZoomableSlider.js
================================================
class ZoomableSlider{
constructor(){
this.visibleRange = [0, 10];
this.chosenRange = [2, 7];
this.step = 0.01;
this.clipDragToVisible = true;
this.element = document.createElement("div");
this.element.innerHTML = `
<div name="zoomable_slider_widget" class="zs_widget">
<div name="core" class="zs_core">
<span name="outside" class="zs_outside"> </span>
<span name="inside" class="zs_inside"> </span>
<span name="left" class="zs_handle"> </span>
<span name="right" class="zs_handle"> </span>
<span name="label_visible_left" class="zs_visible_range_label zs_visible_range_label_left"></span>
<span name="label_visible_right" class="zs_visible_range_label zs_visible_range_label_right"></span>
<span name="label_chosen_left" class="zs_chosen_range_label zs_chosen_range_label_left"></span>
<span name="label_chosen_right" class="zs_chosen_range_label zs_chosen_range_label_right"></span>
</div>
</div>
`;
this.elCore = this.element.querySelector('[name=core]');
this.elLeft = this.element.querySelector('[name=left]');
this.elRight = this.element.querySelector('[name=right]');
this.elInside = this.element.querySelector('[name=inside]');
this.elOutside = this.element.querySelector('[name=outside]');
this.elLabelVisibleLeft = this.element.querySelector('[name=label_visible_left]');
this.elLabelVisibleRight = this.element.querySelector('[name=label_visible_right]');
this.elLabelChosenLeft = this.element.querySelector('[name=label_chosen_left]');
this.elLabelChosenRight = this.element.querySelector('[name=label_chosen_right]');
this.elRight.style.left = "100px";
let dragStart = null;
let onMouseDown = (e) => {
e.preventDefault();
let value = (e.target === this.elLeft) ?
this.chosenRange[0] :
this.chosenRange[1];
dragStart = {
x: e.clientX,
y: e.clientY,
handle: e.target,
value: value,
};
document.onmouseup = onMouseUp;
document.onmousemove = onMouseMove;
};
let onMouseUp = (e) => {
document.onmouseup = null;
document.onmousemove = null;
};
let onMouseMove = (e) => {
let dx = e.clientX - dragStart.x;
let dy = e.clientY - dragStart.y;
let normalizedDelta = dx / this.elCore.clientWidth;
let valueDelta = (this.visibleRange[1] - this.visibleRange[0]) * normalizedDelta;
let newValue = dragStart.value + valueDelta;
newValue = Math.round(newValue / this.step) * this.step;
let newRange;
if(dragStart.handle === this.elLeft){
newRange = [newValue, this.chosenRange[1]];
}else{
newRange = [this.chosenRange[0], newValue];
}
if(this.clipDragToVisible){
newRange[0] = Math.max(newRange[0], this.visibleRange[0]);
newRange[1] = Math.min(newRange[1], this.visibleRange[1]);
}
this.setRange(newRange);
};
for(let handle of [this.elLeft, this.elRight]){
handle.onmousedown = onMouseDown;
}
let onWheel = (e) => {
e.preventDefault();
let delta = Math.sign(e.deltaY);
let zoom = 1;
if(delta < 0){
zoom = 0.8;
}else if(delta > 0){
zoom = 1.2;
}
let oldRangeWidth = this.visibleRange[1] - this.visibleRange[0];
let rect = this.elCore.getBoundingClientRect();
let pivotPixels = e.clientX - rect.left;
let pivotNormalized = (pivotPixels / this.elCore.clientWidth);
let pivot = (oldRangeWidth * pivotNormalized) + this.visibleRange[0];
let leftRatio = (pivot - this.visibleRange[0]) / oldRangeWidth;
let rightRatio = (this.visibleRange[1] - pivot) / oldRangeWidth;
let newRangeWidth = oldRangeWidth * zoom;
let newVisibleRange = [
pivot - (newRangeWidth * leftRatio),
pivot + (newRangeWidth * rightRatio),
];
this.setVisibleRange(newVisibleRange);
};
this.elCore.onmousewheel = onWheel;
this.update();
}
setRange(range){
this.chosenRange = range;
this.update();
}
setVisibleRange(range){
this.visibleRange = range;
this.update();
}
update(){
let {elLeft, elRight, visibleRange, chosenRange} = this;
let pixelWidth = this.elCore.clientWidth;
let normalizedLeft = (chosenRange[0] - visibleRange[0]) / (visibleRange[1] - visibleRange[0]);
let normalizedRight = (chosenRange[1] - visibleRange[0]) / (visibleRange[1] - visibleRange[0]);
let pixelLeft = Math.round(normalizedLeft * pixelWidth) - elLeft.clientWidth;
let pixelRight = Math.round(normalizedRight * pixelWidth) - elRight.clientWidth;
elLeft.style.left = `${pixelLeft}px`;
elRight.style.left = `${pixelRight}px`;
let precision = Math.ceil(Math.log(1 / this.step) / Math.log(10));
this.elLabelVisibleLeft.style.left = "0px";
this.elLabelVisibleLeft.innerHTML = `${visibleRange[0].toFixed(precision)}`;
this.elLabelVisibleRight.style.right = "0px";
this.elLabelVisibleRight.innerHTML = `${visibleRange[1].toFixed(precision)}`;
this.elLabelChosenLeft.style.left = `${pixelLeft}px`;
this.elLabelChosenLeft.innerHTML = `${chosenRange[0].toFixed(precision)}`;
this.elLabelChosenRight.style.left = `${pixelRight}px`;
this.elLabelChosenRight.innerHTML = `${chosenRange[1].toFixed(precision)}`;
}
};
================================================
FILE: libs/brotli/BUILD
================================================
package(
default_visibility = ["//visibility:public"],
)
licenses(["notice"]) # MIT
load("@io_bazel_rules_closure//closure:defs.bzl", "closure_js_library")
# Not a real polyfill. Do NOT use for anything, but tests.
closure_js_library(
name = "polyfill",
srcs = ["polyfill.js"],
suppress = [
"JSC_INVALID_OPERAND_TYPE",
"JSC_MISSING_JSDOC",
"JSC_STRICT_INEXISTENT_PROPERTY",
"JSC_TYPE_MISMATCH",
"JSC_UNKNOWN_EXPR_TYPE",
],
)
# Do NOT use this artifact; it is for test purposes only.
closure_js_library(
name = "decode",
srcs = ["decode.js"],
suppress = [
"JSC_DUP_VAR_DECLARATION",
"JSC_USELESS_BLOCK",
],
deps = [":polyfill"],
)
load("@io_bazel_rules_closure//closure:defs.bzl", "closure_js_test")
closure_js_test(
name = "all_tests",
srcs = ["decode_test.js"],
deps = [
":decode",
":polyfill",
"@io_bazel_rules_closure//closure/library:testing",
],
)
================================================
FILE: libs/brotli/LICENSE
================================================
Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
================================================
FILE: libs/brotli/WORKSPACE
================================================
workspace(name = "org_brotli_js")
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
git_repository(
name = "io_bazel_rules_closure",
commit = "29ec97e7c85d607ba9e41cab3993fbb13f812c4b",
remote = "https://github.com/bazelbuild/rules_closure.git",
)
load("@io_bazel_rules_closure//closure:defs.bzl", "closure_repositories")
closure_repositories()
================================================
FILE: libs/brotli/decode.js
================================================
/* Copyright 2017 Google Inc. All Rights Reserved.
Distributed under MIT license.
See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
*/
/** @return {function(!Int8Array):!Int8Array} */
function BrotliDecodeClosure() {
"use strict";
/** @type {!Int8Array} */
var DICTIONARY_DATA = new Int8Array(0);
/**
* @constructor
* @param {!Int8Array} bytes
* @struct
*/
function InputStream(bytes) {
/** @type {!Int8Array} */
this.data = bytes;
/** @type {!number} */
this.offset = 0;
}
var MAX_HUFFMAN_TABLE_SIZE = Int32Array.from([256, 402, 436, 468, 500, 534, 566, 598, 630, 662, 694, 726, 758, 790, 822, 854, 886, 920, 952, 984, 1016, 1048, 1080]);
var CODE_LENGTH_CODE_ORDER = Int32Array.from([1, 2, 3, 4, 0, 5, 17, 6, 16, 7, 8, 9, 10, 11, 12, 13, 14, 15]);
var DISTANCE_SHORT_CODE_INDEX_OFFSET = Int32Array.from([0, 3, 2, 1, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3]);
var DISTANCE_SHORT_CODE_VALUE_OFFSET = Int32Array.from([0, 0, 0, 0, -1, 1, -2, 2, -3, 3, -1, 1, -2, 2, -3, 3]);
var FIXED_TABLE = Int32Array.from([0x020000, 0x020004, 0x020003, 0x030002, 0x020000, 0x020004, 0x020003, 0x040001, 0x020000, 0x020004, 0x020003, 0x030002, 0x020000, 0x020004, 0x020003, 0x040005]);
var DICTIONARY_OFFSETS_BY_LENGTH = Int32Array.from([0, 0, 0, 0, 0, 4096, 9216, 21504, 35840, 44032, 53248, 63488, 74752, 87040, 93696, 100864, 104704, 106752, 108928, 113536, 115968, 118528, 119872, 121280, 122016]);
var DICTIONARY_SIZE_BITS_BY_LENGTH = Int32Array.from([0, 0, 0, 0, 10, 10, 11, 11, 10, 10, 10, 10, 10, 9, 9, 8, 7, 7, 8, 7, 7, 6, 6, 5, 5]);
var BLOCK_LENGTH_OFFSET = Int32Array.from([1, 5, 9, 13, 17, 25, 33, 41, 49, 65, 81, 97, 113, 145, 177, 209, 241, 305, 369, 497, 753, 1265, 2289, 4337, 8433, 16625]);
var BLOCK_LENGTH_N_BITS = Int32Array.from([2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 7, 8, 9, 10, 11, 12, 13, 24]);
var INSERT_LENGTH_N_BITS = Int16Array.from([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0C, 0x0E, 0x18]);
var COPY_LENGTH_N_BITS = Int16Array.from([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x18]);
var CMD_LOOKUP = new Int16Array(2816);
{
unpackCommandLookupTable(CMD_LOOKUP);
}
/**
* @param {number} i
* @return {number}
*/
function log2floor(i) {
var /** number */ result = -1;
var /** number */ step = 16;
while (step > 0) {
if ((i >>> step) != 0) {
result += step;
i = i >>> step;
}
step = step >> 1;
}
return result + i;
}
/**
* @param {number} npostfix
* @param {number} ndirect
* @param {number} maxndistbits
* @return {number}
*/
function calculateDistanceAlphabetSize(npostfix, ndirect, maxndistbits) {
return 16 + ndirect + 2 * (maxndistbits << npostfix);
}
/**
* @param {number} maxDistance
* @param {number} npostfix
* @param {number} ndirect
* @return {number}
*/
function calculateDistanceAlphabetLimit(maxDistance, npostfix, ndirect) {
if (maxDistance < ndirect + (2 << npostfix)) {
throw "maxDistance is too small";
}
var /** number */ offset = ((maxDistance - ndirect) >> npostfix) + 4;
var /** number */ ndistbits = log2floor(offset) - 1;
var /** number */ group = ((ndistbits - 1) << 1) | ((offset >> ndistbits) & 1);
return ((group - 1) << npostfix) + (1 << npostfix) + ndirect + 16;
}
/**
* @param {!Int16Array} cmdLookup
* @return {void}
*/
function unpackCommandLookupTable(cmdLookup) {
var /** !Int16Array */ insertLengthOffsets = new Int16Array(24);
var /** !Int16Array */ copyLengthOffsets = new Int16Array(24);
copyLengthOffsets[0] = 2;
for (var /** number */ i = 0; i < 23; ++i) {
insertLengthOffsets[i + 1] = (insertLengthOffsets[i] + (1 << INSERT_LENGTH_N_BITS[i]));
copyLengthOffsets[i + 1] = (copyLengthOffsets[i] + (1 << COPY_LENGTH_N_BITS[i]));
}
for (var /** number */ cmdCode = 0; cmdCode < 704; ++cmdCode) {
var /** number */ rangeIdx = cmdCode >>> 6;
var /** number */ distanceContextOffset = -4;
if (rangeIdx >= 2) {
rangeIdx -= 2;
distanceContextOffset = 0;
}
var /** number */ insertCode = (((0x29850 >>> (rangeIdx * 2)) & 0x3) << 3) | ((cmdCode >>> 3) & 7);
var /** number */ copyCode = (((0x26244 >>> (rangeIdx * 2)) & 0x3) << 3) | (cmdCode & 7);
var /** number */ copyLengthOffset = copyLengthOffsets[copyCode];
var /** number */ distanceContext = distanceContextOffset + (copyLengthOffset > 4 ? 3 : copyLengthOffset - 2);
var /** number */ index = cmdCode * 4;
cmdLookup[index + 0] = (INSERT_LENGTH_N_BITS[insertCode] | (COPY_LENGTH_N_BITS[copyCode] << 8));
cmdLookup[index + 1] = insertLengthOffsets[insertCode];
cmdLookup[index + 2] = copyLengthOffsets[copyCode];
cmdLookup[index + 3] = distanceContext;
}
}
/**
* @param {!State} s
* @return {number}
*/
function decodeWindowBits(s) {
var /** number */ largeWindowEnabled = s.isLargeWindow;
s.isLargeWindow = 0;
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
if (readFewBits(s, 1) == 0) {
return 16;
}
var /** number */ n = readFewBits(s, 3);
if (n != 0) {
return 17 + n;
}
n = readFewBits(s, 3);
if (n != 0) {
if (n == 1) {
if (largeWindowEnabled == 0) {
return -1;
}
s.isLargeWindow = 1;
if (readFewBits(s, 1) == 1) {
return -1;
}
n = readFewBits(s, 6);
if (n < 10 || n > 30) {
return -1;
}
return n;
} else {
return 8 + n;
}
}
return 17;
}
/**
* @param {!State} s
* @return {void}
*/
function enableEagerOutput(s) {
if (s.runningState != 1) {
throw "State MUST be freshly initialized";
}
s.isEager = 1;
}
/**
* @param {!State} s
* @return {void}
*/
function enableLargeWindow(s) {
if (s.runningState != 1) {
throw "State MUST be freshly initialized";
}
s.isLargeWindow = 1;
}
/**
* @param {!State} s
* @param {!InputStream} input
* @return {void}
*/
function initState(s, input) {
if (s.runningState != 0) {
throw "State MUST be uninitialized";
}
s.blockTrees = new Int32Array(3091);
s.blockTrees[0] = 7;
s.distRbIdx = 3;
var /** number */ maxDistanceAlphabetLimit = calculateDistanceAlphabetLimit(0x7FFFFFFC, 3, 15 << 3);
s.distExtraBits = new Int8Array(maxDistanceAlphabetLimit);
s.distOffset = new Int32Array(maxDistanceAlphabetLimit);
s.input = input;
initBitReader(s);
s.runningState = 1;
}
/**
* @param {!State} s
* @return {void}
*/
function close(s) {
if (s.runningState == 0) {
throw "State MUST be initialized";
}
if (s.runningState == 11) {
return;
}
s.runningState = 11;
if (s.input != null) {
closeInput(s.input);
s.input = null;
}
}
/**
* @param {!State} s
* @return {number}
*/
function decodeVarLenUnsignedByte(s) {
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
if (readFewBits(s, 1) != 0) {
var /** number */ n = readFewBits(s, 3);
if (n == 0) {
return 1;
} else {
return readFewBits(s, n) + (1 << n);
}
}
return 0;
}
/**
* @param {!State} s
* @return {void}
*/
function decodeMetaBlockLength(s) {
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
s.inputEnd = readFewBits(s, 1);
s.metaBlockLength = 0;
s.isUncompressed = 0;
s.isMetadata = 0;
if ((s.inputEnd != 0) && readFewBits(s, 1) != 0) {
return;
}
var /** number */ sizeNibbles = readFewBits(s, 2) + 4;
if (sizeNibbles == 7) {
s.isMetadata = 1;
if (readFewBits(s, 1) != 0) {
throw "Corrupted reserved bit";
}
var /** number */ sizeBytes = readFewBits(s, 2);
if (sizeBytes == 0) {
return;
}
for (var /** number */ i = 0; i < sizeBytes; i++) {
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
var /** number */ bits = readFewBits(s, 8);
if (bits == 0 && i + 1 == sizeBytes && sizeBytes > 1) {
throw "Exuberant nibble";
}
s.metaBlockLength |= bits << (i * 8);
}
} else {
for (var /** number */ i = 0; i < sizeNibbles; i++) {
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
var /** number */ bits = readFewBits(s, 4);
if (bits == 0 && i + 1 == sizeNibbles && sizeNibbles > 4) {
throw "Exuberant nibble";
}
s.metaBlockLength |= bits << (i * 4);
}
}
s.metaBlockLength++;
if (s.inputEnd == 0) {
s.isUncompressed = readFewBits(s, 1);
}
}
/**
* @param {!Int32Array} tableGroup
* @param {number} tableIdx
* @param {!State} s
* @return {number}
*/
function readSymbol(tableGroup, tableIdx, s) {
var /** number */ offset = tableGroup[tableIdx];
var /** number */ val = (s.accumulator32 >>> s.bitOffset);
offset += val & 0xFF;
var /** number */ bits = tableGroup[offset] >> 16;
var /** number */ sym = tableGroup[offset] & 0xFFFF;
if (bits <= 8) {
s.bitOffset += bits;
return sym;
}
offset += sym;
var /** number */ mask = (1 << bits) - 1;
offset += (val & mask) >>> 8;
s.bitOffset += ((tableGroup[offset] >> 16) + 8);
return tableGroup[offset] & 0xFFFF;
}
/**
* @param {!Int32Array} tableGroup
* @param {number} tableIdx
* @param {!State} s
* @return {number}
*/
function readBlockLength(tableGroup, tableIdx, s) {
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
var /** number */ code = readSymbol(tableGroup, tableIdx, s);
var /** number */ n = BLOCK_LENGTH_N_BITS[code];
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
return BLOCK_LENGTH_OFFSET[code] + ((n <= 16) ? readFewBits(s, n) : readManyBits(s, n));
}
/**
* @param {!Int32Array} v
* @param {number} index
* @return {void}
*/
function moveToFront(v, index) {
var /** number */ value = v[index];
for (; index > 0; index--) {
v[index] = v[index - 1];
}
v[0] = value;
}
/**
* @param {!Int8Array} v
* @param {number} vLen
* @return {void}
*/
function inverseMoveToFrontTransform(v, vLen) {
var /** !Int32Array */ mtf = new Int32Array(256);
for (var /** number */ i = 0; i < 256; i++) {
mtf[i] = i;
}
for (var /** number */ i = 0; i < vLen; i++) {
var /** number */ index = v[i] & 0xFF;
v[i] = mtf[index];
if (index != 0) {
moveToFront(mtf, index);
}
}
}
/**
* @param {!Int32Array} codeLengthCodeLengths
* @param {number} numSymbols
* @param {!Int32Array} codeLengths
* @param {!State} s
* @return {void}
*/
function readHuffmanCodeLengths(codeLengthCodeLengths, numSymbols, codeLengths, s) {
var /** number */ symbol = 0;
var /** number */ prevCodeLen = 8;
var /** number */ repeat = 0;
var /** number */ repeatCodeLen = 0;
var /** number */ space = 32768;
var /** !Int32Array */ table = new Int32Array(32 + 1);
var /** number */ tableIdx = table.length - 1;
buildHuffmanTable(table, tableIdx, 5, codeLengthCodeLengths, 18);
while (symbol < numSymbols && space > 0) {
if (s.halfOffset > 2030) {
doReadMoreInput(s);
}
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
var /** number */ p = (s.accumulator32 >>> s.bitOffset) & 31;
s.bitOffset += table[p] >> 16;
var /** number */ codeLen = table[p] & 0xFFFF;
if (codeLen < 16) {
repeat = 0;
codeLengths[symbol++] = codeLen;
if (codeLen != 0) {
prevCodeLen = codeLen;
space -= 32768 >> codeLen;
}
} else {
var /** number */ extraBits = codeLen - 14;
var /** number */ newLen = 0;
if (codeLen == 16) {
newLen = prevCodeLen;
}
if (repeatCodeLen != newLen) {
repeat = 0;
repeatCodeLen = newLen;
}
var /** number */ oldRepeat = repeat;
if (repeat > 0) {
repeat -= 2;
repeat <<= extraBits;
}
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
repeat += readFewBits(s, extraBits) + 3;
var /** number */ repeatDelta = repeat - oldRepeat;
if (symbol + repeatDelta > numSymbols) {
throw "symbol + repeatDelta > numSymbols";
}
for (var /** number */ i = 0; i < repeatDelta; i++) {
codeLengths[symbol++] = repeatCodeLen;
}
if (repeatCodeLen != 0) {
space -= repeatDelta << (15 - repeatCodeLen);
}
}
}
if (space != 0) {
throw "Unused space";
}
codeLengths.fill(0, symbol, numSymbols);
}
/**
* @param {!Int32Array} symbols
* @param {number} length
* @return {void}
*/
function checkDupes(symbols, length) {
for (var /** number */ i = 0; i < length - 1; ++i) {
for (var /** number */ j = i + 1; j < length; ++j) {
if (symbols[i] == symbols[j]) {
throw "Duplicate simple Huffman code symbol";
}
}
}
}
/**
* @param {number} alphabetSizeMax
* @param {number} alphabetSizeLimit
* @param {!Int32Array} tableGroup
* @param {number} tableIdx
* @param {!State} s
* @return {number}
*/
function readSimpleHuffmanCode(alphabetSizeMax, alphabetSizeLimit, tableGroup, tableIdx, s) {
var /** !Int32Array */ codeLengths = new Int32Array(alphabetSizeLimit);
var /** !Int32Array */ symbols = new Int32Array(4);
var /** number */ maxBits = 1 + log2floor(alphabetSizeMax - 1);
var /** number */ numSymbols = readFewBits(s, 2) + 1;
for (var /** number */ i = 0; i < numSymbols; i++) {
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
var /** number */ symbol = readFewBits(s, maxBits);
if (symbol >= alphabetSizeLimit) {
throw "Can't readHuffmanCode";
}
symbols[i] = symbol;
}
checkDupes(symbols, numSymbols);
var /** number */ histogramId = numSymbols;
if (numSymbols == 4) {
histogramId += readFewBits(s, 1);
}
switch(histogramId) {
case 1:
codeLengths[symbols[0]] = 1;
break;
case 2:
codeLengths[symbols[0]] = 1;
codeLengths[symbols[1]] = 1;
break;
case 3:
codeLengths[symbols[0]] = 1;
codeLengths[symbols[1]] = 2;
codeLengths[symbols[2]] = 2;
break;
case 4:
codeLengths[symbols[0]] = 2;
codeLengths[symbols[1]] = 2;
codeLengths[symbols[2]] = 2;
codeLengths[symbols[3]] = 2;
break;
case 5:
codeLengths[symbols[0]] = 1;
codeLengths[symbols[1]] = 2;
codeLengths[symbols[2]] = 3;
codeLengths[symbols[3]] = 3;
break;
default:
break;
}
return buildHuffmanTable(tableGroup, tableIdx, 8, codeLengths, alphabetSizeLimit);
}
/**
* @param {number} alphabetSizeLimit
* @param {number} skip
* @param {!Int32Array} tableGroup
* @param {number} tableIdx
* @param {!State} s
* @return {number}
*/
function readComplexHuffmanCode(alphabetSizeLimit, skip, tableGroup, tableIdx, s) {
var /** !Int32Array */ codeLengths = new Int32Array(alphabetSizeLimit);
var /** !Int32Array */ codeLengthCodeLengths = new Int32Array(18);
var /** number */ space = 32;
var /** number */ numCodes = 0;
for (var /** number */ i = skip; i < 18 && space > 0; i++) {
var /** number */ codeLenIdx = CODE_LENGTH_CODE_ORDER[i];
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
var /** number */ p = (s.accumulator32 >>> s.bitOffset) & 15;
s.bitOffset += FIXED_TABLE[p] >> 16;
var /** number */ v = FIXED_TABLE[p] & 0xFFFF;
codeLengthCodeLengths[codeLenIdx] = v;
if (v != 0) {
space -= (32 >> v);
numCodes++;
}
}
if (space != 0 && numCodes != 1) {
throw "Corrupted Huffman code histogram";
}
readHuffmanCodeLengths(codeLengthCodeLengths, alphabetSizeLimit, codeLengths, s);
return buildHuffmanTable(tableGroup, tableIdx, 8, codeLengths, alphabetSizeLimit);
}
/**
* @param {number} alphabetSizeMax
* @param {number} alphabetSizeLimit
* @param {!Int32Array} tableGroup
* @param {number} tableIdx
* @param {!State} s
* @return {number}
*/
function readHuffmanCode(alphabetSizeMax, alphabetSizeLimit, tableGroup, tableIdx, s) {
if (s.halfOffset > 2030) {
doReadMoreInput(s);
}
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
var /** number */ simpleCodeOrSkip = readFewBits(s, 2);
if (simpleCodeOrSkip == 1) {
return readSimpleHuffmanCode(alphabetSizeMax, alphabetSizeLimit, tableGroup, tableIdx, s);
} else {
return readComplexHuffmanCode(alphabetSizeLimit, simpleCodeOrSkip, tableGroup, tableIdx, s);
}
}
/**
* @param {number} contextMapSize
* @param {!Int8Array} contextMap
* @param {!State} s
* @return {number}
*/
function decodeContextMap(contextMapSize, contextMap, s) {
if (s.halfOffset > 2030) {
doReadMoreInput(s);
}
var /** number */ numTrees = decodeVarLenUnsignedByte(s) + 1;
if (numTrees == 1) {
contextMap.fill(0, 0, contextMapSize);
return numTrees;
}
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
var /** number */ useRleForZeros = readFewBits(s, 1);
var /** number */ maxRunLengthPrefix = 0;
if (useRleForZeros != 0) {
maxRunLengthPrefix = readFewBits(s, 4) + 1;
}
var /** number */ alphabetSize = numTrees + maxRunLengthPrefix;
var /** number */ tableSize = MAX_HUFFMAN_TABLE_SIZE[(alphabetSize + 31) >> 5];
var /** !Int32Array */ table = new Int32Array(tableSize + 1);
var /** number */ tableIdx = table.length - 1;
readHuffmanCode(alphabetSize, alphabetSize, table, tableIdx, s);
for (var /** number */ i = 0; i < contextMapSize; ) {
if (s.halfOffset > 2030) {
doReadMoreInput(s);
}
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
var /** number */ code = readSymbol(table, tableIdx, s);
if (code == 0) {
contextMap[i] = 0;
i++;
} else if (code <= maxRunLengthPrefix) {
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
var /** number */ reps = (1 << code) + readFewBits(s, code);
while (reps != 0) {
if (i >= contextMapSize) {
throw "Corrupted context map";
}
contextMap[i] = 0;
i++;
reps--;
}
} else {
contextMap[i] = (code - maxRunLengthPrefix);
i++;
}
}
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
if (readFewBits(s, 1) == 1) {
inverseMoveToFrontTransform(contextMap, contextMapSize);
}
return numTrees;
}
/**
* @param {!State} s
* @param {number} treeType
* @param {number} numBlockTypes
* @return {number}
*/
function decodeBlockTypeAndLength(s, treeType, numBlockTypes) {
var /** !Int32Array */ ringBuffers = s.rings;
var /** number */ offset = 4 + treeType * 2;
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
var /** number */ blockType = readSymbol(s.blockTrees, 2 * treeType, s);
var /** number */ result = readBlockLength(s.blockTrees, 2 * treeType + 1, s);
if (blockType == 1) {
blockType = ringBuffers[offset + 1] + 1;
} else if (blockType == 0) {
blockType = ringBuffers[offset];
} else {
blockType -= 2;
}
if (blockType >= numBlockTypes) {
blockType -= numBlockTypes;
}
ringBuffers[offset] = ringBuffers[offset + 1];
ringBuffers[offset + 1] = blockType;
return result;
}
/**
* @param {!State} s
* @return {void}
*/
function decodeLiteralBlockSwitch(s) {
s.literalBlockLength = decodeBlockTypeAndLength(s, 0, s.numLiteralBlockTypes);
var /** number */ literalBlockType = s.rings[5];
s.contextMapSlice = literalBlockType << 6;
s.literalTreeIdx = s.contextMap[s.contextMapSlice] & 0xFF;
var /** number */ contextMode = s.contextModes[literalBlockType];
s.contextLookupOffset1 = contextMode << 9;
s.contextLookupOffset2 = s.contextLookupOffset1 + 256;
}
/**
* @param {!State} s
* @return {void}
*/
function decodeCommandBlockSwitch(s) {
s.commandBlockLength = decodeBlockTypeAndLength(s, 1, s.numCommandBlockTypes);
s.commandTreeIdx = s.rings[7];
}
/**
* @param {!State} s
* @return {void}
*/
function decodeDistanceBlockSwitch(s) {
s.distanceBlockLength = decodeBlockTypeAndLength(s, 2, s.numDistanceBlockTypes);
s.distContextMapSlice = s.rings[9] << 2;
}
/**
* @param {!State} s
* @return {void}
*/
function maybeReallocateRingBuffer(s) {
var /** number */ newSize = s.maxRingBufferSize;
if (newSize > s.expectedTotalSize) {
var /** number */ minimalNewSize = s.expectedTotalSize;
while ((newSize >> 1) > minimalNewSize) {
newSize >>= 1;
}
if ((s.inputEnd == 0) && newSize < 16384 && s.maxRingBufferSize >= 16384) {
newSize = 16384;
}
}
if (newSize <= s.ringBufferSize) {
return;
}
var /** number */ ringBufferSizeWithSlack = newSize + 37;
var /** !Int8Array */ newBuffer = new Int8Array(ringBufferSizeWithSlack);
if (s.ringBuffer.length != 0) {
newBuffer.set(s.ringBuffer.subarray(0, 0 + s.ringBufferSize), 0);
}
s.ringBuffer = newBuffer;
s.ringBufferSize = newSize;
}
/**
* @param {!State} s
* @return {void}
*/
function readNextMetablockHeader(s) {
if (s.inputEnd != 0) {
s.nextRunningState = 10;
s.runningState = 12;
return;
}
s.literalTreeGroup = new Int32Array(0);
s.commandTreeGroup = new Int32Array(0);
s.distanceTreeGroup = new Int32Array(0);
if (s.halfOffset > 2030) {
doReadMoreInput(s);
}
decodeMetaBlockLength(s);
if ((s.metaBlockLength == 0) && (s.isMetadata == 0)) {
return;
}
if ((s.isUncompressed != 0) || (s.isMetadata != 0)) {
jumpToByteBoundary(s);
s.runningState = (s.isMetadata != 0) ? 5 : 6;
} else {
s.runningState = 3;
}
if (s.isMetadata != 0) {
return;
}
s.expectedTotalSize += s.metaBlockLength;
if (s.expectedTotalSize > 1 << 30) {
s.expectedTotalSize = 1 << 30;
}
if (s.ringBufferSize < s.maxRingBufferSize) {
maybeReallocateRingBuffer(s);
}
}
/**
* @param {!State} s
* @param {number} treeType
* @param {number} numBlockTypes
* @return {number}
*/
function readMetablockPartition(s, treeType, numBlockTypes) {
var /** number */ offset = s.blockTrees[2 * treeType];
if (numBlockTypes <= 1) {
s.blockTrees[2 * treeType + 1] = offset;
s.blockTrees[2 * treeType + 2] = offset;
return 1 << 28;
}
var /** number */ blockTypeAlphabetSize = numBlockTypes + 2;
offset += readHuffmanCode(blockTypeAlphabetSize, blockTypeAlphabetSize, s.blockTrees, 2 * treeType, s);
s.blockTrees[2 * treeType + 1] = offset;
var /** number */ blockLengthAlphabetSize = 26;
offset += readHuffmanCode(blockLengthAlphabetSize, blockLengthAlphabetSize, s.blockTrees, 2 * treeType + 1, s);
s.blockTrees[2 * treeType + 2] = offset;
return readBlockLength(s.blockTrees, 2 * treeType + 1, s);
}
/**
* @param {!State} s
* @param {number} alphabetSizeLimit
* @return {void}
*/
function calculateDistanceLut(s, alphabetSizeLimit) {
var /** !Int8Array */ distExtraBits = s.distExtraBits;
var /** !Int32Array */ distOffset = s.distOffset;
var /** number */ npostfix = s.distancePostfixBits;
var /** number */ ndirect = s.numDirectDistanceCodes;
var /** number */ postfix = 1 << npostfix;
var /** number */ bits = 1;
var /** number */ half = 0;
var /** number */ i = 16;
for (var /** number */ j = 0; j < ndirect; ++j) {
distExtraBits[i] = 0;
distOffset[i] = j + 1;
++i;
}
while (i < alphabetSizeLimit) {
var /** number */ base = ndirect + ((((2 + half) << bits) - 4) << npostfix) + 1;
for (var /** number */ j = 0; j < postfix; ++j) {
distExtraBits[i] = bits;
distOffset[i] = base + j;
++i;
}
bits = bits + half;
half = half ^ 1;
}
}
/**
* @param {!State} s
* @return {void}
*/
function readMetablockHuffmanCodesAndContextMaps(s) {
s.numLiteralBlockTypes = decodeVarLenUnsignedByte(s) + 1;
s.literalBlockLength = readMetablockPartition(s, 0, s.numLiteralBlockTypes);
s.numCommandBlockTypes = decodeVarLenUnsignedByte(s) + 1;
s.commandBlockLength = readMetablockPartition(s, 1, s.numCommandBlockTypes);
s.numDistanceBlockTypes = decodeVarLenUnsignedByte(s) + 1;
s.distanceBlockLength = readMetablockPartition(s, 2, s.numDistanceBlockTypes);
if (s.halfOffset > 2030) {
doReadMoreInput(s);
}
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
s.distancePostfixBits = readFewBits(s, 2);
s.numDirectDistanceCodes = readFewBits(s, 4) << s.distancePostfixBits;
s.distancePostfixMask = (1 << s.distancePostfixBits) - 1;
s.contextModes = new Int8Array(s.numLiteralBlockTypes);
for (var /** number */ i = 0; i < s.numLiteralBlockTypes; ) {
var /** number */ limit = min(i + 96, s.numLiteralBlockTypes);
for (; i < limit; ++i) {
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
s.contextModes[i] = readFewBits(s, 2);
}
if (s.halfOffset > 2030) {
doReadMoreInput(s);
}
}
s.contextMap = new Int8Array(s.numLiteralBlockTypes << 6);
var /** number */ numLiteralTrees = decodeContextMap(s.numLiteralBlockTypes << 6, s.contextMap, s);
s.trivialLiteralContext = 1;
for (var /** number */ j = 0; j < s.numLiteralBlockTypes << 6; j++) {
if (s.contextMap[j] != j >> 6) {
s.trivialLiteralContext = 0;
break;
}
}
s.distContextMap = new Int8Array(s.numDistanceBlockTypes << 2);
var /** number */ numDistTrees = decodeContextMap(s.numDistanceBlockTypes << 2, s.distContextMap, s);
s.literalTreeGroup = decodeHuffmanTreeGroup(256, 256, numLiteralTrees, s);
s.commandTreeGroup = decodeHuffmanTreeGroup(704, 704, s.numCommandBlockTypes, s);
var /** number */ distanceAlphabetSizeMax = calculateDistanceAlphabetSize(s.distancePostfixBits, s.numDirectDistanceCodes, 24);
var /** number */ distanceAlphabetSizeLimit = distanceAlphabetSizeMax;
if (s.isLargeWindow == 1) {
distanceAlphabetSizeMax = calculateDistanceAlphabetSize(s.distancePostfixBits, s.numDirectDistanceCodes, 62);
distanceAlphabetSizeLimit = calculateDistanceAlphabetLimit(0x7FFFFFFC, s.distancePostfixBits, s.numDirectDistanceCodes);
}
s.distanceTreeGroup = decodeHuffmanTreeGroup(distanceAlphabetSizeMax, distanceAlphabetSizeLimit, numDistTrees, s);
calculateDistanceLut(s, distanceAlphabetSizeLimit);
s.contextMapSlice = 0;
s.distContextMapSlice = 0;
s.contextLookupOffset1 = s.contextModes[0] * 512;
s.contextLookupOffset2 = s.contextLookupOffset1 + 256;
s.literalTreeIdx = 0;
s.commandTreeIdx = 0;
s.rings[4] = 1;
s.rings[5] = 0;
s.rings[6] = 1;
s.rings[7] = 0;
s.rings[8] = 1;
s.rings[9] = 0;
}
/**
* @param {!State} s
* @return {void}
*/
function copyUncompressedData(s) {
var /** !Int8Array */ ringBuffer = s.ringBuffer;
if (s.metaBlockLength <= 0) {
reload(s);
s.runningState = 2;
return;
}
var /** number */ chunkLength = min(s.ringBufferSize - s.pos, s.metaBlockLength);
copyBytes(s, ringBuffer, s.pos, chunkLength);
s.metaBlockLength -= chunkLength;
s.pos += chunkLength;
if (s.pos == s.ringBufferSize) {
s.nextRunningState = 6;
s.runningState = 12;
return;
}
reload(s);
s.runningState = 2;
}
/**
* @param {!State} s
* @return {number}
*/
function writeRingBuffer(s) {
var /** number */ toWrite = min(s.outputLength - s.outputUsed, s.ringBufferBytesReady - s.ringBufferBytesWritten);
if (toWrite != 0) {
s.output.set(s.ringBuffer.subarray(s.ringBufferBytesWritten, s.ringBufferBytesWritten + toWrite), s.outputOffset + s.outputUsed);
s.outputUsed += toWrite;
s.ringBufferBytesWritten += toWrite;
}
if (s.outputUsed < s.outputLength) {
return 1;
} else {
return 0;
}
}
/**
* @param {number} alphabetSizeMax
* @param {number} alphabetSizeLimit
* @param {number} n
* @param {!State} s
* @return {!Int32Array}
*/
function decodeHuffmanTreeGroup(alphabetSizeMax, alphabetSizeLimit, n, s) {
var /** number */ maxTableSize = MAX_HUFFMAN_TABLE_SIZE[(alphabetSizeLimit + 31) >> 5];
var /** !Int32Array */ group = new Int32Array(n + n * maxTableSize);
var /** number */ next = n;
for (var /** number */ i = 0; i < n; ++i) {
group[i] = next;
next += readHuffmanCode(alphabetSizeMax, alphabetSizeLimit, group, i, s);
}
return group;
}
/**
* @param {!State} s
* @return {number}
*/
function calculateFence(s) {
var /** number */ result = s.ringBufferSize;
if (s.isEager != 0) {
result = min(result, s.ringBufferBytesWritten + s.outputLength - s.outputUsed);
}
return result;
}
/**
* @param {!State} s
* @return {void}
*/
function decompress(s) {
if (s.runningState == 0) {
throw "Can't decompress until initialized";
}
if (s.runningState == 11) {
throw "Can't decompress after close";
}
if (s.runningState == 1) {
var /** number */ windowBits = decodeWindowBits(s);
if (windowBits == -1) {
throw "Invalid 'windowBits' code";
}
s.maxRingBufferSize = 1 << windowBits;
s.maxBackwardDistance = s.maxRingBufferSize - 16;
s.runningState = 2;
}
var /** number */ fence = calculateFence(s);
var /** number */ ringBufferMask = s.ringBufferSize - 1;
var /** !Int8Array */ ringBuffer = s.ringBuffer;
while (s.runningState != 10) {
switch(s.runningState) {
case 2:
if (s.metaBlockLength < 0) {
throw "Invalid metablock length";
}
readNextMetablockHeader(s);
fence = calculateFence(s);
ringBufferMask = s.ringBufferSize - 1;
ringBuffer = s.ringBuffer;
continue;
case 3:
readMetablockHuffmanCodesAndContextMaps(s);
s.runningState = 4;
case 4:
if (s.metaBlockLength <= 0) {
s.runningState = 2;
continue;
}
if (s.halfOffset > 2030) {
doReadMoreInput(s);
}
if (s.commandBlockLength == 0) {
decodeCommandBlockSwitch(s);
}
s.commandBlockLength--;
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
var /** number */ cmdCode = readSymbol(s.commandTreeGroup, s.commandTreeIdx, s) << 2;
var /** number */ insertAndCopyExtraBits = CMD_LOOKUP[cmdCode];
var /** number */ insertLengthOffset = CMD_LOOKUP[cmdCode + 1];
var /** number */ copyLengthOffset = CMD_LOOKUP[cmdCode + 2];
s.distanceCode = CMD_LOOKUP[cmdCode + 3];
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
var /** number */ extraBits = insertAndCopyExtraBits & 0xFF;
s.insertLength = insertLengthOffset + ((extraBits <= 16) ? readFewBits(s, extraBits) : readManyBits(s, extraBits));
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
var /** number */ extraBits = insertAndCopyExtraBits >> 8;
s.copyLength = copyLengthOffset + ((extraBits <= 16) ? readFewBits(s, extraBits) : readManyBits(s, extraBits));
s.j = 0;
s.runningState = 7;
case 7:
if (s.trivialLiteralContext != 0) {
while (s.j < s.insertLength) {
if (s.halfOffset > 2030) {
doReadMoreInput(s);
}
if (s.literalBlockLength == 0) {
decodeLiteralBlockSwitch(s);
}
s.literalBlockLength--;
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
ringBuffer[s.pos] = readSymbol(s.literalTreeGroup, s.literalTreeIdx, s);
s.pos++;
s.j++;
if (s.pos >= fence) {
s.nextRunningState = 7;
s.runningState = 12;
break;
}
}
} else {
var /** number */ prevByte1 = ringBuffer[(s.pos - 1) & ringBufferMask] & 0xFF;
var /** number */ prevByte2 = ringBuffer[(s.pos - 2) & ringBufferMask] & 0xFF;
while (s.j < s.insertLength) {
if (s.halfOffset > 2030) {
doReadMoreInput(s);
}
if (s.literalBlockLength == 0) {
decodeLiteralBlockSwitch(s);
}
var /** number */ literalContext = LOOKUP[s.contextLookupOffset1 + prevByte1] | LOOKUP[s.contextLookupOffset2 + prevByte2];
var /** number */ literalTreeIdx = s.contextMap[s.contextMapSlice + literalContext] & 0xFF;
s.literalBlockLength--;
prevByte2 = prevByte1;
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
prevByte1 = readSymbol(s.literalTreeGroup, literalTreeIdx, s);
ringBuffer[s.pos] = prevByte1;
s.pos++;
s.j++;
if (s.pos >= fence) {
s.nextRunningState = 7;
s.runningState = 12;
break;
}
}
}
if (s.runningState != 7) {
continue;
}
s.metaBlockLength -= s.insertLength;
if (s.metaBlockLength <= 0) {
s.runningState = 4;
continue;
}
var /** number */ distanceCode = s.distanceCode;
if (distanceCode < 0) {
s.distance = s.rings[s.distRbIdx];
} else {
if (s.halfOffset > 2030) {
doReadMoreInput(s);
}
if (s.distanceBlockLength == 0) {
decodeDistanceBlockSwitch(s);
}
s.distanceBlockLength--;
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
var /** number */ distTreeIdx = s.distContextMap[s.distContextMapSlice + distanceCode] & 0xFF;
distanceCode = readSymbol(s.distanceTreeGroup, distTreeIdx, s);
if (distanceCode < 16) {
var /** number */ index = (s.distRbIdx + DISTANCE_SHORT_CODE_INDEX_OFFSET[distanceCode]) & 0x3;
s.distance = s.rings[index] + DISTANCE_SHORT_CODE_VALUE_OFFSET[distanceCode];
if (s.distance < 0) {
throw "Negative distance";
}
} else {
var /** number */ extraBits = s.distExtraBits[distanceCode];
var /** number */ bits;
if (s.bitOffset + extraBits <= 32) {
bits = readFewBits(s, extraBits);
} else {
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
bits = ((extraBits <= 16) ? readFewBits(s, extraBits) : readManyBits(s, extraBits));
}
s.distance = s.distOffset[distanceCode] + (bits << s.distancePostfixBits);
}
}
if (s.maxDistance != s.maxBackwardDistance && s.pos < s.maxBackwardDistance) {
s.maxDistance = s.pos;
} else {
s.maxDistance = s.maxBackwardDistance;
}
if (s.distance > s.maxDistance) {
s.runningState = 9;
continue;
}
if (distanceCode > 0) {
s.distRbIdx = (s.distRbIdx + 1) & 0x3;
s.rings[s.distRbIdx] = s.distance;
}
if (s.copyLength > s.metaBlockLength) {
throw "Invalid backward reference";
}
s.j = 0;
s.runningState = 8;
case 8:
var /** number */ src = (s.pos - s.distance) & ringBufferMask;
var /** number */ dst = s.pos;
var /** number */ copyLength = s.copyLength - s.j;
var /** number */ srcEnd = src + copyLength;
var /** number */ dstEnd = dst + copyLength;
if ((srcEnd < ringBufferMask) && (dstEnd < ringBufferMask)) {
if (copyLength < 12 || (srcEnd > dst && dstEnd > src)) {
for (var /** number */ k = 0; k < copyLength; k += 4) {
ringBuffer[dst++] = ringBuffer[src++];
ringBuffer[dst++] = ringBuffer[src++];
ringBuffer[dst++] = ringBuffer[src++];
ringBuffer[dst++] = ringBuffer[src++];
}
} else {
ringBuffer.copyWithin(dst, src, srcEnd);
}
s.j += copyLength;
s.metaBlockLength -= copyLength;
s.pos += copyLength;
} else {
for (; s.j < s.copyLength; ) {
ringBuffer[s.pos] = ringBuffer[(s.pos - s.distance) & ringBufferMask];
s.metaBlockLength--;
s.pos++;
s.j++;
if (s.pos >= fence) {
s.nextRunningState = 8;
s.runningState = 12;
break;
}
}
}
if (s.runningState == 8) {
s.runningState = 4;
}
continue;
case 9:
if (s.distance > 0x7FFFFFFC) {
throw "Invalid backward reference";
}
if (s.copyLength >= 4 && s.copyLength <= 24) {
var /** number */ offset = DICTIONARY_OFFSETS_BY_LENGTH[s.copyLength];
var /** number */ wordId = s.distance - s.maxDistance - 1;
var /** number */ shift = DICTIONARY_SIZE_BITS_BY_LENGTH[s.copyLength];
var /** number */ mask = (1 << shift) - 1;
var /** number */ wordIdx = wordId & mask;
var /** number */ transformIdx = wordId >>> shift;
offset += wordIdx * s.copyLength;
if (transformIdx < 121) {
var /** number */ len = transformDictionaryWord(ringBuffer, s.pos, DICTIONARY_DATA, offset, s.copyLength, RFC_TRANSFORMS, transformIdx);
s.pos += len;
s.metaBlockLength -= len;
if (s.pos >= fence) {
s.nextRunningState = 4;
s.runningState = 12;
continue;
}
} else {
throw "Invalid backward reference";
}
} else {
throw "Invalid backward reference";
}
s.runningState = 4;
continue;
case 5:
while (s.metaBlockLength > 0) {
if (s.halfOffset > 2030) {
doReadMoreInput(s);
}
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
readFewBits(s, 8);
s.metaBlockLength--;
}
s.runningState = 2;
continue;
case 6:
copyUncompressedData(s);
continue;
case 12:
s.ringBufferBytesReady = min(s.pos, s.ringBufferSize);
s.runningState = 13;
case 13:
if (writeRingBuffer(s) == 0) {
return;
}
if (s.pos >= s.maxBackwardDistance) {
s.maxDistance = s.maxBackwardDistance;
}
if (s.pos >= s.ringBufferSize) {
if (s.pos > s.ringBufferSize) {
ringBuffer.copyWithin(0, s.ringBufferSize, s.pos);
}
s.pos &= ringBufferMask;
s.ringBufferBytesWritten = 0;
}
s.runningState = s.nextRunningState;
continue;
default:
throw "Unexpected state " + s.runningState;
}
}
if (s.runningState == 10) {
if (s.metaBlockLength < 0) {
throw "Invalid metablock length";
}
jumpToByteBoundary(s);
checkHealth(s, 1);
}
}
/**
* @constructor
* @param {number} numTransforms
* @param {number} prefixSuffixLen
* @param {number} prefixSuffixCount
* @struct
*/
function Transforms(numTransforms, prefixSuffixLen, prefixSuffixCount) {
/** @type {!number} */
this.numTransforms = 0;
/** @type {!Int32Array} */
this.triplets = new Int32Array(0);
/** @type {!Int8Array} */
this.prefixSuffixStorage = new Int8Array(0);
/** @type {!Int32Array} */
this.prefixSuffixHeads = new Int32Array(0);
/** @type {!Int16Array} */
this.params = new Int16Array(0);
this.numTransforms = numTransforms;
this.triplets = new Int32Array(numTransforms * 3);
this.params = new Int16Array(numTransforms);
this.prefixSuffixStorage = new Int8Array(prefixSuffixLen);
this.prefixSuffixHeads = new Int32Array(prefixSuffixCount + 1);
}
var RFC_TRANSFORMS = new Transforms(121, 167, 50);
/**
* @param {!Int8Array} prefixSuffix
* @param {!Int32Array} prefixSuffixHeads
* @param {!Int32Array} transforms
* @param {!string} prefixSuffixSrc
* @param {!string} transformsSrc
* @return {void}
*/
function unpackTransforms(prefixSuffix, prefixSuffixHeads, transforms, prefixSuffixSrc, transformsSrc) {
var /** number */ n = prefixSuffixSrc.length;
var /** number */ index = 1;
var /** number */ j = 0;
for (var /** number */ i = 0; i < n; ++i) {
var /** number */ c = prefixSuffixSrc.charCodeAt(i);
if (c == 35) {
prefixSuffixHeads[index++] = j;
} else {
prefixSuffix[j++] = c;
}
}
for (var /** number */ i = 0; i < 363; ++i) {
transforms[i] = transformsSrc.charCodeAt(i) - 32;
}
}
{
unpackTransforms(RFC_TRANSFORMS.prefixSuffixStorage, RFC_TRANSFORMS.prefixSuffixHeads, RFC_TRANSFORMS.triplets, "# #s #, #e #.# the #.com/#\u00C2\u00A0# of # and # in # to #\"#\">#\n#]# for # a # that #. # with #'# from # by #. The # on # as # is #ing #\n\t#:#ed #(# at #ly #=\"# of the #. This #,# not #er #al #='#ful #ive #less #est #ize #ous #", " !! ! , *! &! \" ! ) * * - ! # ! #!*! + ,$ ! - % . / # 0 1 . \" 2 3!* 4% ! # / 5 6 7 8 0 1 & $ 9 + : ; < ' != > ?! 4 @ 4 2 & A *# ( B C& ) % ) !*# *-% A +! *. D! %' & E *6 F G% ! *A *% H! D I!+! J!+ K +- *4! A L!*4 M N +6 O!*% +.! K *G P +%( ! G *D +D Q +# *K!*G!+D!+# +G +A +4!+% +K!+4!*D!+K!*K");
}
/**
* @param {!Int8Array} dst
* @param {number} dstOffset
* @param {!Int8Array} src
* @param {number} srcOffset
* @param {number} len
* @param {!Transforms} transforms
* @param {number} transformIndex
* @return {number}
*/
function transformDictionaryWord(dst, dstOffset, src, srcOffset, len, transforms, transformIndex) {
var /** number */ offset = dstOffset;
var /** !Int32Array */ triplets = transforms.triplets;
var /** !Int8Array */ prefixSuffixStorage = transforms.prefixSuffixStorage;
var /** !Int32Array */ prefixSuffixHeads = transforms.prefixSuffixHeads;
var /** number */ transformOffset = 3 * transformIndex;
var /** number */ prefixIdx = triplets[transformOffset];
var /** number */ transformType = triplets[transformOffset + 1];
var /** number */ suffixIdx = triplets[transformOffset + 2];
var /** number */ prefix = prefixSuffixHeads[prefixIdx];
var /** number */ prefixEnd = prefixSuffixHeads[prefixIdx + 1];
var /** number */ suffix = prefixSuffixHeads[suffixIdx];
var /** number */ suffixEnd = prefixSuffixHeads[suffixIdx + 1];
var /** number */ omitFirst = transformType - 11;
var /** number */ omitLast = transformType - 0;
if (omitFirst < 1 || omitFirst > 9) {
omitFirst = 0;
}
if (omitLast < 1 || omitLast > 9) {
omitLast = 0;
}
while (prefix != prefixEnd) {
dst[offset++] = prefixSuffixStorage[prefix++];
}
if (omitFirst > len) {
omitFirst = len;
}
srcOffset += omitFirst;
len -= omitFirst;
len -= omitLast;
var /** number */ i = len;
while (i > 0) {
dst[offset++] = src[srcOffset++];
i--;
}
if (transformType == 10 || transformType == 11) {
var /** number */ uppercaseOffset = offset - len;
if (transformType == 10) {
len = 1;
}
while (len > 0) {
var /** number */ c0 = dst[uppercaseOffset] & 0xFF;
if (c0 < 0xC0) {
if (c0 >= 97 && c0 <= 122) {
dst[uppercaseOffset] ^= 32;
}
uppercaseOffset += 1;
len -= 1;
} else if (c0 < 0xE0) {
dst[uppercaseOffset + 1] ^= 32;
uppercaseOffset += 2;
len -= 2;
} else {
dst[uppercaseOffset + 2] ^= 5;
uppercaseOffset += 3;
len -= 3;
}
}
} else if (transformType == 21 || transformType == 22) {
var /** number */ shiftOffset = offset - len;
var /** number */ param = transforms.params[transformIndex];
var /** number */ scalar = (param & 0x7FFF) + (0x1000000 - (param & 0x8000));
while (len > 0) {
var /** number */ step = 1;
var /** number */ c0 = dst[shiftOffset] & 0xFF;
if (c0 < 0x80) {
scalar += c0;
dst[shiftOffset] = (scalar & 0x7F);
} else if (c0 < 0xC0) {
} else if (c0 < 0xE0) {
if (len >= 2) {
var /** number */ c1 = dst[shiftOffset + 1];
scalar += (c1 & 0x3F) | ((c0 & 0x1F) << 6);
dst[shiftOffset] = (0xC0 | ((scalar >> 6) & 0x1F));
dst[shiftOffset + 1] = ((c1 & 0xC0) | (scalar & 0x3F));
step = 2;
} else {
step = len;
}
} else if (c0 < 0xF0) {
if (len >= 3) {
var /** number */ c1 = dst[shiftOffset + 1];
var /** number */ c2 = dst[shiftOffset + 2];
scalar += (c2 & 0x3F) | ((c1 & 0x3F) << 6) | ((c0 & 0x0F) << 12);
dst[shiftOffset] = (0xE0 | ((scalar >> 12) & 0x0F));
dst[shiftOffset + 1] = ((c1 & 0xC0) | ((scalar >> 6) & 0x3F));
dst[shiftOffset + 2] = ((c2 & 0xC0) | (scalar & 0x3F));
step = 3;
} else {
step = len;
}
} else if (c0 < 0xF8) {
if (len >= 4) {
var /** number */ c1 = dst[shiftOffset + 1];
var /** number */ c2 = dst[shiftOffset + 2];
var /** number */ c3 = dst[shiftOffset + 3];
scalar += (c3 & 0x3F) | ((c2 & 0x3F) << 6) | ((c1 & 0x3F) << 12) | ((c0 & 0x07) << 18);
dst[shiftOffset] = (0xF0 | ((scalar >> 18) & 0x07));
dst[shiftOffset + 1] = ((c1 & 0xC0) | ((scalar >> 12) & 0x3F));
dst[shiftOffset + 2] = ((c2 & 0xC0) | ((scalar >> 6) & 0x3F));
dst[shiftOffset + 3] = ((c3 & 0xC0) | (scalar & 0x3F));
step = 4;
} else {
step = len;
}
}
shiftOffset += step;
len -= step;
if (transformType == 21) {
len = 0;
}
}
}
while (suffix != suffixEnd) {
dst[offset++] = prefixSuffixStorage[suffix++];
}
return offset - dstOffset;
}
/**
* @param {number} key
* @param {number} len
* @return {number}
*/
function getNextKey(key, len) {
var /** number */ step = 1 << (len - 1);
while ((key & step) != 0) {
step >>= 1;
}
return (key & (step - 1)) + step;
}
/**
* @param {!Int32Array} table
* @param {number} offset
* @param {number} step
* @param {number} end
* @param {number} item
* @return {void}
*/
function replicateValue(table, offset, step, end, item) {
do {
end -= step;
table[offset + end] = item;
} while (end > 0);
}
/**
* @param {!Int32Array} count
* @param {number} len
* @param {number} rootBits
* @return {number}
*/
function nextTableBitSize(count, len, rootBits) {
var /** number */ left = 1 << (len - rootBits);
while (len < 15) {
left -= count[len];
if (left <= 0) {
break;
}
len++;
left <<= 1;
}
return len - rootBits;
}
/**
* @param {!Int32Array} tableGroup
* @param {number} tableIdx
* @param {number} rootBits
* @param {!Int32Array} codeLengths
* @param {number} codeLengthsSize
* @return {number}
*/
function buildHuffmanTable(tableGroup, tableIdx, rootBits, codeLengths, codeLengthsSize) {
var /** number */ tableOffset = tableGroup[tableIdx];
var /** number */ key;
var /** !Int32Array */ sorted = new Int32Array(codeLengthsSize);
var /** !Int32Array */ count = new Int32Array(16);
var /** !Int32Array */ offset = new Int32Array(16);
var /** number */ symbol;
for (symbol = 0; symbol < codeLengthsSize; symbol++) {
count[codeLengths[symbol]]++;
}
offset[1] = 0;
for (var /** number */ len = 1; len < 15; len++) {
offset[len + 1] = offset[len] + count[len];
}
for (symbol = 0; symbol < codeLengthsSize; symbol++) {
if (codeLengths[symbol] != 0) {
sorted[offset[codeLengths[symbol]]++] = symbol;
}
}
var /** number */ tableBits = rootBits;
var /** number */ tableSize = 1 << tableBits;
var /** number */ totalSize = tableSize;
if (offset[15] == 1) {
for (key = 0; key < totalSize; key++) {
tableGroup[tableOffset + key] = sorted[0];
}
return totalSize;
}
key = 0;
symbol = 0;
for (var /** number */ len = 1, step = 2; len <= rootBits; len++, step <<= 1) {
for (; count[len] > 0; count[len]--) {
replicateValue(tableGroup, tableOffset + key, step, tableSize, len << 16 | sorted[symbol++]);
key = getNextKey(key, len);
}
}
var /** number */ mask = totalSize - 1;
var /** number */ low = -1;
var /** number */ currentOffset = tableOffset;
for (var /** number */ len = rootBits + 1, step = 2; len <= 15; len++, step <<= 1) {
for (; count[len] > 0; count[len]--) {
if ((key & mask) != low) {
currentOffset += tableSize;
tableBits = nextTableBitSize(count, len, rootBits);
tableSize = 1 << tableBits;
totalSize += tableSize;
low = key & mask;
tableGroup[tableOffset + low] = (tableBits + rootBits) << 16 | (currentOffset - tableOffset - low);
}
replicateValue(tableGroup, currentOffset + (key >> rootBits), step, tableSize, (len - rootBits) << 16 | sorted[symbol++]);
key = getNextKey(key, len);
}
}
return totalSize;
}
/**
* @param {!State} s
* @return {void}
*/
function doReadMoreInput(s) {
if (s.endOfStreamReached != 0) {
if (halfAvailable(s) >= -2) {
return;
}
throw "No more input";
}
var /** number */ readOffset = s.halfOffset << 1;
var /** number */ bytesInBuffer = 4096 - readOffset;
s.byteBuffer.copyWithin(0, readOffset, 4096);
s.halfOffset = 0;
while (bytesInBuffer < 4096) {
var /** number */ spaceLeft = 4096 - bytesInBuffer;
var /** number */ len = readInput(s.input, s.byteBuffer, bytesInBuffer, spaceLeft);
if (len <= 0) {
s.endOfStreamReached = 1;
s.tailBytes = bytesInBuffer;
bytesInBuffer += 1;
break;
}
bytesInBuffer += len;
}
bytesToNibbles(s, bytesInBuffer);
}
/**
* @param {!State} s
* @param {number} endOfStream
* @return {void}
*/
function checkHealth(s, endOfStream) {
if (s.endOfStreamReached == 0) {
return;
}
var /** number */ byteOffset = (s.halfOffset << 1) + ((s.bitOffset + 7) >> 3) - 4;
if (byteOffset > s.tailBytes) {
throw "Read after end";
}
if ((endOfStream != 0) && (byteOffset != s.tailBytes)) {
throw "Unused bytes after end";
}
}
/**
* @param {!State} s
* @return {void}
*/
function assertAccumulatorHealthy(s) {
if (s.bitOffset > 32) {
throw "Accumulator underloaded: " + s.bitOffset;
}
}
/**
* @param {!State} s
* @param {number} n
* @return {number}
*/
function readFewBits(s, n) {
var /** number */ val = (s.accumulator32 >>> s.bitOffset) & ((1 << n) - 1);
s.bitOffset += n;
return val;
}
/**
* @param {!State} s
* @param {number} n
* @return {number}
*/
function readManyBits(s, n) {
var /** number */ low = readFewBits(s, 16);
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
return low | (readFewBits(s, n - 16) << 16);
}
/**
* @param {!State} s
* @return {void}
*/
function initBitReader(s) {
s.byteBuffer = new Int8Array(4160);
s.accumulator32 = 0;
s.shortBuffer = new Int16Array(2080);
s.bitOffset = 32;
s.halfOffset = 2048;
s.endOfStreamReached = 0;
prepare(s);
}
/**
* @param {!State} s
* @return {void}
*/
function prepare(s) {
if (s.halfOffset > 2030) {
doReadMoreInput(s);
}
checkHealth(s, 0);
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
/**
* @param {!State} s
* @return {void}
*/
function reload(s) {
if (s.bitOffset == 32) {
prepare(s);
}
}
/**
* @param {!State} s
* @return {void}
*/
function jumpToByteBoundary(s) {
var /** number */ padding = (32 - s.bitOffset) & 7;
if (padding != 0) {
var /** number */ paddingBits = readFewBits(s, padding);
if (paddingBits != 0) {
throw "Corrupted padding bits";
}
}
}
/**
* @param {!State} s
* @return {number}
*/
function halfAvailable(s) {
var /** number */ limit = 2048;
if (s.endOfStreamReached != 0) {
limit = (s.tailBytes + 1) >> 1;
}
return limit - s.halfOffset;
}
/**
* @param {!State} s
* @param {!Int8Array} data
* @param {number} offset
* @param {number} length
* @return {void}
*/
function copyBytes(s, data, offset, length) {
if ((s.bitOffset & 7) != 0) {
throw "Unaligned copyBytes";
}
while ((s.bitOffset != 32) && (length != 0)) {
data[offset++] = (s.accumulator32 >>> s.bitOffset);
s.bitOffset += 8;
length--;
}
if (length == 0) {
return;
}
var /** number */ copyNibbles = min(halfAvailable(s), length >> 1);
if (copyNibbles > 0) {
var /** number */ readOffset = s.halfOffset << 1;
var /** number */ delta = copyNibbles << 1;
data.set(s.byteBuffer.subarray(readOffset, readOffset + delta), offset);
offset += delta;
length -= delta;
s.halfOffset += copyNibbles;
}
if (length == 0) {
return;
}
if (halfAvailable(s) > 0) {
if (s.bitOffset >= 16) {
s.accumulator32 = (s.shortBuffer[s.halfOffset++] << 16) | (s.accumulator32 >>> 16);
s.bitOffset -= 16;
}
while (length != 0) {
data[offset++] = (s.accumulator32 >>> s.bitOffset);
s.bitOffset += 8;
length--;
}
checkHealth(s, 0);
return;
}
while (length > 0) {
var /** number */ len = readInput(s.input, data, offset, length);
if (len == -1) {
throw "Unexpected end of input";
}
offset += len;
length -= len;
}
}
/**
* @param {!State} s
* @param {number} byteLen
* @return {void}
*/
function bytesToNibbles(s, byteLen) {
var /** !Int8Array */ byteBuffer = s.byteBuffer;
var /** number */ halfLen = byteLen >> 1;
var /** !Int16Array */ shortBuffer = s.shortBuffer;
for (var /** number */ i = 0; i < halfLen; ++i) {
shortBuffer[i] = ((byteBuffer[i * 2] & 0xFF) | ((byteBuffer[(i * 2) + 1] & 0xFF) << 8));
}
}
var LOOKUP = new Int32Array(2048);
/**
* @param {!Int32Array} lookup
* @param {!string} map
* @param {!string} rle
* @return {void}
*/
function unpackLookupTable(lookup, map, rle) {
for (var /** number */ i = 0; i < 256; ++i) {
lookup[i] = i & 0x3F;
lookup[512 + i] = i >> 2;
lookup[1792 + i] = 2 + (i >> 6);
}
for (var /** number */ i = 0; i < 128; ++i) {
lookup[1024 + i] = 4 * (map.charCodeAt(i) - 32);
}
for (var /** number */ i = 0; i < 64; ++i) {
lookup[1152 + i] = i & 1;
lookup[1216 + i] = 2 + (i & 1);
}
var /** number */ offset = 1280;
for (var /** number */ k = 0; k < 19; ++k) {
var /** number */ value = k & 3;
var /** number */ rep = rle.charCodeAt(k) - 32;
for (var /** number */ i = 0; i < rep; ++i) {
lookup[offset++] = value;
}
}
for (var /** number */ i = 0; i < 16; ++i) {
lookup[1792 + i] = 1;
lookup[2032 + i] = 6;
}
lookup[1792] = 0;
lookup[2047] = 7;
for (var /** number */ i = 0; i < 256; ++i) {
lookup[1536 + i] = lookup[1792 + i] << 3;
}
}
{
unpackLookupTable(LOOKUP, " !! ! \"#$##%#$&'##(#)#++++++++++((&*'##,---,---,-----,-----,-----&#'###.///.///./////./////./////&#'# ", "A/* ': & : $ \u0081 @");
}
/**
* @constructor
* @struct
*/
function State() {
/** @type {!Int8Array} */
this.ringBuffer = new Int8Array(0);
/** @type {!Int8Array} */
this.contextModes = new Int8Array(0);
/** @type {!Int8Array} */
this.contextMap = new Int8Array(0);
/** @type {!Int8Array} */
this.distContextMap = new Int8Array(0);
/** @type {!Int8Array} */
this.distExtraBits = new Int8Array(0);
/** @type {!Int8Array} */
this.output = new Int8Array(0);
/** @type {!Int8Array} */
this.byteBuffer = new Int8Array(0);
/** @type {!Int16Array} */
this.shortBuffer = new Int16Array(0);
/** @type {!Int32Array} */
this.intBuffer = new Int32Array(0);
/** @type {!Int32Array} */
this.rings = new Int32Array(0);
/** @type {!Int32Array} */
this.blockTrees = new Int32Array(0);
/** @type {!Int32Array} */
this.literalTreeGroup = new Int32Array(0);
/** @type {!Int32Array} */
this.commandTreeGroup = new Int32Array(0);
/** @type {!Int32Array} */
this.distanceTreeGroup = new Int32Array(0);
/** @type {!Int32Array} */
this.distOffset = new Int32Array(0);
/** @type {!number} */
this.runningState = 0;
/** @type {!number} */
this.nextRunningState = 0;
/** @type {!number} */
this.accumulator32 = 0;
/** @type {!number} */
this.bitOffset = 0;
/** @type {!number} */
this.halfOffset = 0;
/** @type {!number} */
this.tailBytes = 0;
/** @type {!number} */
this.endOfStreamReached = 0;
/** @type {!number} */
this.metaBlockLength = 0;
/** @type {!number} */
this.inputEnd = 0;
/** @type {!number} */
this.isUncompressed = 0;
/** @type {!number} */
this.isMetadata = 0;
/** @type {!number} */
this.literalBlockLength = 0;
/** @type {!number} */
this.numLiteralBlockTypes = 0;
/** @type {!number} */
this.commandBlockLength = 0;
/** @type {!number} */
this.numCommandBlockTypes = 0;
/** @type {!number} */
this.distanceBlockLength = 0;
/** @type {!number} */
this.numDistanceBlockTypes = 0;
/** @type {!number} */
this.pos = 0;
/** @type {!number} */
this.maxDistance = 0;
/** @type {!number} */
this.distRbIdx = 0;
/** @type {!number} */
this.trivialLiteralContext = 0;
/** @type {!number} */
this.literalTreeIdx = 0;
/** @type {!number} */
this.commandTreeIdx = 0;
/** @type {!number} */
this.j = 0;
/** @type {!number} */
this.insertLength = 0;
/** @type {!number} */
this.contextMapSlice = 0;
/** @type {!number} */
this.distContextMapSlice = 0;
/** @type {!number} */
this.contextLookupOffset1 = 0;
/** @type {!number} */
this.contextLookupOffset2 = 0;
/** @type {!number} */
this.distanceCode = 0;
/** @type {!number} */
this.numDirectDistanceCodes = 0;
/** @type {!number} */
this.distancePostfixMask = 0;
/** @type {!number} */
this.distancePostfixBits = 0;
/** @type {!number} */
this.distance = 0;
/** @type {!number} */
this.copyLength = 0;
/** @type {!number} */
this.maxBackwardDistance = 0;
/** @type {!number} */
this.maxRingBufferSize = 0;
/** @type {!number} */
this.ringBufferSize = 0;
/** @type {!number} */
this.expectedTotalSize = 0;
/** @type {!number} */
this.outputOffset = 0;
/** @type {!number} */
this.outputLength = 0;
/** @type {!number} */
this.outputUsed = 0;
/** @type {!number} */
this.ringBufferBytesWritten = 0;
/** @type {!number} */
this.ringBufferBytesReady = 0;
/** @type {!number} */
this.isEager = 0;
/** @type {!number} */
this.isLargeWindow = 0;
/** @type {!InputStream|null} */
this.input = null;
this.ringBuffer = new Int8Array(0);
this.rings = new Int32Array(10);
this.rings[0] = 16;
this.rings[1] = 15;
this.rings[2] = 11;
this.rings[3] = 4;
}
/**
* @param {!Int8Array} dictionary
* @param {!string} data0
* @param {!string} data1
* @param {!string} skipFlip
* @return {void}
*/
function unpackDictionaryData(dictionary, data0, data1, skipFlip) {
var /** !Int8Array */ dict = toUsAsciiBytes(data0 + data1);
if (dict.length != dictionary.length) {
throw "Corrupted brotli dictionary";
}
var /** number */ offset = 0;
var /** number */ n = skipFlip.length;
for (var /** number */ i = 0; i < n; i += 2) {
var /** number */ skip = skipFlip.charCodeAt(i) - 36;
var /** number */ flip = skipFlip.charCodeAt(i + 1) - 36;
offset += skip;
for (var /** number */ j = 0; j < flip; ++j) {
dict[offset] |= 0x80;
offset++;
}
}
dictionary.set(dict);
}
{
var /** !Int8Array */ dictionary = new Int8Array(122784);
unpackDictionaryData(dictionary, "timedownlifeleftbackcodedatashowonlysitecityopenjustlikefreeworktextyearoverbodyloveformbookplaylivelinehelphomesidemorewordlongthemviewfindpagedaysfullheadtermeachareafromtruemarkableuponhighdatelandnewsevennextcasebothpostusedmadehandherewhatnameLinkblogsizebaseheldmakemainuser') +holdendswithNewsreadweresigntakehavegameseencallpathwellplusmenufilmpartjointhislistgoodneedwayswestjobsmindalsologorichuseslastteamarmyfoodkingwilleastwardbestfirePageknowaway.pngmovethanloadgiveselfnotemuchfeedmanyrockicononcelookhidediedHomerulehostajaxinfoclublawslesshalfsomesuchzone100%onescareTimeracebluefourweekfacehopegavehardlostwhenparkkeptpassshiproomHTMLplanTypedonesavekeepflaglinksoldfivetookratetownjumpthusdarkcardfilefearstaykillthatfallautoever.comtalkshopvotedeepmoderestturnbornbandfellroseurl(skinrolecomeactsagesmeetgold.jpgitemvaryfeltthensenddropViewcopy1.0\"</a>stopelseliestourpack.gifpastcss?graymean>rideshotlatesaidroadvar feeljohnrickportfast'UA-dead</b>poorbilltypeU.S.woodmust2px;Inforankwidewantwalllead[0];paulwavesure$('#waitmassarmsgoesgainlangpaid!-- lockunitrootwalkfirmwifexml\"songtest20pxkindrowstoolfontmailsafestarmapscorerainflowbabyspansays4px;6px;artsfootrealwikiheatsteptriporg/lakeweaktoldFormcastfansbankveryrunsjulytask1px;goalgrewslowedgeid=\"sets5px;.js?40pxif (soonseatnonetubezerosentreedfactintogiftharm18pxcamehillboldzoomvoideasyringfillpeakinitcost3px;jacktagsbitsrolleditknewnear<!--growJSONdutyNamesaleyou lotspainjazzcoldeyesfishwww.risktabsprev10pxrise25pxBlueding300,ballfordearnwildbox.fairlackverspairjunetechif(!pickevil$(\"#warmlorddoespull,000ideadrawhugespotfundburnhrefcellkeystickhourlossfuel12pxsuitdealRSS\"agedgreyGET\"easeaimsgirlaids8px;navygridtips#999warsladycars); }php?helltallwhomzh:e*/\r\n 100hall.\n\nA7px;pushchat0px;crew*/</hash75pxflatrare && tellcampontolaidmissskiptentfinemalegetsplot400,\r\n\r\ncoolfeet.php<br>ericmostguidbelldeschairmathatom/imgRluckcent000;tinygonehtmlselldrugFREEnodenick?id=losenullvastwindRSS wearrelybeensamedukenasacapewishgulfT23:hitsslotgatekickblurthey15px''););\">msiewinsbirdsortbetaseekT18:ordstreemall60pxfarmb\u0000\u0019sboys[0].');\"POSTbearkids);}}marytend(UK)quadzh:f-siz----prop');\rliftT19:viceandydebt>RSSpoolneckblowT16:doorevalT17:letsfailoralpollnovacolsgene b\u0000\u0014softrometillross<h3>pourfadepink<tr>mini)|!(minezh:hbarshear00);milk -->ironfreddiskwentsoilputs/js/holyT22:ISBNT20:adamsees<h2>json', 'contT21: RSSloopasiamoon</p>soulLINEfortcartT14:<h1>80px!--<9px;T04:mike:46ZniceinchYorkricezh:d'));puremageparatonebond:37Z_of_']);000,zh:gtankyardbowlbush:56ZJava30px\n|}\n%C3%:34ZjeffEXPIcashvisagolfsnowzh:iquer.csssickmeatmin.binddellhirepicsrent:36ZHTTP-201fotowolfEND xbox:54ZBODYdick;\n}\nexit:35Zvarsbeat'});diet999;anne}}</[i].LangkmB2wiretoysaddssealalex;\n\t}echonine.org005)tonyjewssandlegsroof000) 200winegeardogsbootgarycutstyletemption.xmlcockgang$('.50pxPh.Dmiscalanloandeskmileryanunixdisc);}\ndustclip).\n\n70px-200DVDs7]><tapedemoi++)wageeurophiloptsholeFAQsasin-26TlabspetsURL bulkcook;}\r\nHEAD[0])abbrjuan(198leshtwin</i>sonyguysfuckpipe|-\n!002)ndow[1];[];\nLog salt\r\n\t\tbangtrimbath){\r\n00px\n});ko:lfeesad>\rs:// [];tollplug(){\n{\r\n .js'200pdualboat.JPG);\n}quot);\n\n');\n\r\n}\r201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037201320122011201020092008200720062005200420032002200120001999199819971996199519941993199219911990198919881987198619851984198319821981198019791978197719761975197419731972197119701969196819671966196519641963196219611960195919581957195619551954195319521951195010001024139400009999comomC!sesteestaperotodohacecadaaC1obiendC-aasC-vidacasootroforosolootracualdijosidograntipotemadebealgoquC)estonadatrespococasabajotodasinoaguapuesunosantediceluisellamayozonaamorpisoobraclicellodioshoracasiP7P0P=P0P>P<Q\u0000P0Q\u0000Q\u0003Q\u0002P0P=P5P?P>P>Q\u0002P8P7P=P>P4P>Q\u0002P>P6P5P>P=P8Q\u0005P\u001DP0P5P5P1Q\u000BP<Q\u000BP\u0012Q\u000BQ\u0001P>P2Q\u000BP2P>P\u001DP>P>P1P\u001FP>P;P8P=P8P P$P\u001DP5P\u001CQ\u000BQ\u0002Q\u000BP\u001EP=P8P<P4P0P\u0017P0P\u0014P0P\u001DQ\u0003P\u001EP1Q\u0002P5P\u0018P7P5P9P=Q\u0003P<P<P\"Q\u000BQ\u0003P6Y\u0001Y\nX#Y\u0006Y\u0005X'Y\u0005X9Y\u0003Y\u0004X#Y\u0008X1X/Y\nX'Y\u0001Y\tY\u0007Y\u0008Y\u0004Y\u0005Y\u0004Y\u0003X'Y\u0008Y\u0004Y\u0007X(X3X'Y\u0004X%Y\u0006Y\u0007Y\nX#Y\nY\u0002X/Y\u0007Y\u0004X+Y\u0005X(Y\u0007Y\u0004Y\u0008Y\u0004Y\nX(Y\u0004X'Y\nX(Y\u0003X4Y\nX'Y\u0005X#Y\u0005Y\u0006X*X(Y\nY\u0004Y\u0006X-X(Y\u0007Y\u0005Y\u0005X4Y\u0008X4firstvideolightworldmediawhitecloseblackrightsmallbooksplacemusicfieldorderpointvalueleveltableboardhousegroupworksyearsstatetodaywaterstartstyledeathpowerphonenighterrorinputabouttermstitletoolseventlocaltimeslargewordsgamesshortspacefocusclearmodelblockguideradiosharewomenagainmoneyimagenamesyounglineslatercolorgreenfront&watchforcepricerulesbeginaftervisitissueareasbelowindextotalhourslabelprintpressbuiltlinksspeedstudytradefoundsenseundershownformsrangeaddedstillmovedtakenaboveflashfixedoftenotherviewschecklegalriveritemsquickshapehumanexistgoingmoviethirdbasicpeacestagewidthloginideaswrotepagesusersdrivestorebreaksouthvoicesitesmonthwherebuildwhichearthforumthreesportpartyClicklowerlivesclasslayerentrystoryusagesoundcourtyour birthpopuptypesapplyImagebeinguppernoteseveryshowsmeansextramatchtrackknownearlybegansuperpapernorthlearngivennamedendedTermspartsGroupbrandusingwomanfalsereadyaudiotakeswhile.com/livedcasesdailychildgreatjudgethoseunitsneverbroadcoastcoverapplefilescyclesceneplansclickwritequeenpieceemailframeolderphotolimitcachecivilscaleenterthemetheretouchboundroyalaskedwholesincestock namefaithheartemptyofferscopeownedmightalbumthinkbloodarraymajortrustcanonunioncountvalidstoneStyleLoginhappyoccurleft:freshquitefilmsgradeneedsurbanfightbasishoverauto;route.htmlmixedfinalYour slidetopicbrownalonedrawnsplitreachRightdatesmarchquotegoodsLinksdoubtasyncthumballowchiefyouthnovel10px;serveuntilhandsCheckSpacequeryjamesequaltwice0,000Startpanelsongsroundeightshiftworthpostsleadsweeksavoidthesemilesplanesmartalphaplantmarksratesplaysclaimsalestextsstarswrong</h3>thing.org/multiheardPowerstandtokensolid(thisbringshipsstafftriedcallsfullyfactsagentThis //-->adminegyptEvent15px;Emailtrue\"crossspentblogsbox\">notedleavechinasizesguest</h4>robotheavytrue,sevengrandcrimesignsawaredancephase><!--en_US'200px_namelatinenjoyajax.ationsmithU.S. holdspeterindianav\">chainscorecomesdoingpriorShare1990sromanlistsjapanfallstrialowneragree</h2>abusealertopera\"-//WcardshillsteamsPhototruthclean.php?saintmetallouismeantproofbriefrow\">genretrucklooksValueFrame.net/-->\n<try {\nvar makescostsplainadultquesttrainlaborhelpscausemagicmotortheir250pxleaststepsCountcouldglasssidesfundshotelawardmouthmovesparisgivesdutchtexasfruitnull,||[];top\">\n<!--POST\"ocean<br/>floorspeakdepth sizebankscatchchart20px;aligndealswould50px;url=\"parksmouseMost ...</amongbrainbody none;basedcarrydraftreferpage_home.meterdelaydreamprovejoint</tr>drugs<!-- aprilidealallenexactforthcodeslogicView seemsblankports (200saved_linkgoalsgrantgreekhomesringsrated30px;whoseparse();\" Blocklinuxjonespixel');\">);if(-leftdavidhorseFocusraiseboxesTrackement</em>bar\">.src=toweralt=\"cablehenry24px;setupitalysharpminortastewantsthis.resetwheelgirls/css/100%;clubsstuffbiblevotes 1000korea});\r\nbandsqueue= {};80px;cking{\r\n\t\taheadclockirishlike ratiostatsForm\"yahoo)[0];Aboutfinds</h1>debugtasksURL =cells})();12px;primetellsturns0x600.jpg\"spainbeachtaxesmicroangel--></giftssteve-linkbody.});\n\tmount (199FAQ</rogerfrankClass28px;feeds<h1><scotttests22px;drink) || lewisshall#039; for lovedwaste00px;ja:c\u0002simon<fontreplymeetsuntercheaptightBrand) != dressclipsroomsonkeymobilmain.Name platefunnytreescom/\"1.jpgwmodeparamSTARTleft idden, 201);\n}\nform.viruschairtransworstPagesitionpatch<!--\no-cacfirmstours,000 asiani++){adobe')[0]id=10both;menu .2.mi.png\"kevincoachChildbruce2.jpgURL)+.jpg|suitesliceharry120\" sweettr>\r\nname=diegopage swiss-->\n\n#fff;\">Log.com\"treatsheet) && 14px;sleepntentfiledja:c\u0003id=\"cName\"worseshots-box-delta\n<bears:48Z<data-rural</a> spendbakershops= \"\";php\">ction13px;brianhellosize=o=%2F joinmaybe<img img\">, fjsimg\" \")[0]MTopBType\"newlyDanskczechtrailknows</h5>faq\">zh-cn10);\n-1\");type=bluestrulydavis.js';>\r\n<!steel you h2>\r\nform jesus100% menu.\r\n\t\r\nwalesrisksumentddingb-likteachgif\" vegasdanskeestishqipsuomisobredesdeentretodospuedeaC1osestC!tienehastaotrospartedondenuevohacerformamismomejormundoaquC-dC-assC3loayudafechatodastantomenosdatosotrassitiomuchoahoralugarmayorestoshorastenerantesfotosestaspaC-snuevasaludforosmedioquienmesespoderchileserC!vecesdecirjosC)estarventagrupohechoellostengoamigocosasnivelgentemismaairesjuliotemashaciafavorjuniolibrepuntobuenoautorabrilbuenatextomarzosaberlistaluegocC3moenerojuegoperC:haberestoynuncamujervalorfueralibrogustaigualvotoscasosguC-apuedosomosavisousteddebennochebuscafaltaeurosseriedichocursoclavecasasleC3nplazolargoobrasvistaapoyojuntotratavistocrearcampohemoscincocargopisosordenhacenC!readiscopedrocercapuedapapelmenorC:tilclarojorgecalleponertardenadiemarcasigueellassiglocochemotosmadreclaserestoniC1oquedapasarbancohijosviajepabloC)stevienereinodejarfondocanalnorteletracausatomarmanoslunesautosvillavendopesartipostengamarcollevapadreunidovamoszonasambosbandamariaabusomuchasubirriojavivirgradochicaallC-jovendichaestantalessalirsuelopesosfinesllamabuscoC)stalleganegroplazahumorpagarjuntadobleislasbolsabaC1ohablaluchaC\u0001readicenjugarnotasvalleallC!cargadolorabajoestC)gustomentemariofirmacostofichaplatahogarartesleyesaquelmuseobasespocosmitadcielochicomiedoganarsantoetapadebesplayaredessietecortecoreadudasdeseoviejodeseaaguas"domaincommonstatuseventsmastersystemactionbannerremovescrollupdateglobalmediumfilternumberchangeresultpublicscreenchoosenormaltravelissuessourcetargetspringmodulemobileswitchphotosborderregionitselfsocialactivecolumnrecordfollowtitle>eitherlengthfamilyfriendlayoutauthorcreatereviewsummerserverplayedplayerexpandpolicyformatdoublepointsseriespersonlivingdesignmonthsforcesuniqueweightpeopleenergynaturesearchfigurehavingcustomoffsetletterwindowsubmitrendergroupsuploadhealthmethodvideosschoolfutureshadowdebatevaluesObjectothersrightsleaguechromesimplenoticesharedendingseasonreportonlinesquarebuttonimagesenablemovinglatestwinterFranceperiodstrongrepeatLondondetailformeddemandsecurepassedtoggleplacesdevicestaticcitiesstreamyellowattackstreetflighthiddeninfo\">openedusefulvalleycausesleadersecretseconddamagesportsexceptratingsignedthingseffectfieldsstatesofficevisualeditorvolumeReportmuseummoviesparentaccessmostlymother\" id=\"marketgroundchancesurveybeforesymbolmomentspeechmotioninsidematterCenterobjectexistsmiddleEuropegrowthlegacymannerenoughcareeransweroriginportalclientselectrandomclosedtopicscomingfatheroptionsimplyraisedescapechosenchurchdefinereasoncorneroutputmemoryiframepolicemodelsNumberduringoffersstyleskilledlistedcalledsilvermargindeletebetterbrowselimitsGlobalsinglewidgetcenterbudgetnowrapcreditclaimsenginesafetychoicespirit-stylespreadmakingneededrussiapleaseextentScriptbrokenallowschargedividefactormember-basedtheoryconfigaroundworkedhelpedChurchimpactshouldalwayslogo\" bottomlist\">){var prefixorangeHeader.push(couplegardenbridgelaunchReviewtakingvisionlittledatingButtonbeautythemesforgotSearchanchoralmostloadedChangereturnstringreloadMobileincomesupplySourceordersviewed courseAbout island<html cookiename=\"amazonmodernadvicein</a>: The dialoghousesBEGIN MexicostartscentreheightaddingIslandassetsEmpireSchooleffortdirectnearlymanualSelect.\n\nOnejoinedmenu\">PhilipawardshandleimportOfficeregardskillsnationSportsdegreeweekly (e.g.behinddoctorloggedunited</b></beginsplantsassistartistissued300px|canadaagencyschemeremainBrazilsamplelogo\">beyond-scaleacceptservedmarineFootercamera</h1>\n_form\"leavesstress\" />\r\n.gif\" onloadloaderOxfordsistersurvivlistenfemaleDesignsize=\"appealtext\">levelsthankshigherforcedanimalanyoneAfricaagreedrecentPeople<br />wonderpricesturned|| {};main\">inlinesundaywrap\">failedcensusminutebeaconquotes150px|estateremoteemail\"linkedright;signalformal1.htmlsignupprincefloat:.png\" forum.AccesspaperssoundsextendHeightsliderUTF-8\"& Before. WithstudioownersmanageprofitjQueryannualparamsboughtfamousgooglelongeri++) {israelsayingdecidehome\">headerensurebranchpiecesblock;statedtop\"><racingresize-->pacitysexualbureau.jpg\" 10,000obtaintitlesamount, Inc.comedymenu\" lyricstoday.indeedcounty_logo.FamilylookedMarketlse ifPlayerturkey);var forestgivingerrorsDomain}else{insertBlog</footerlogin.fasteragents<body 10px 0pragmafridayjuniordollarplacedcoversplugin5,000 page\">boston.test(avatartested_countforumsschemaindex,filledsharesreaderalert(appearSubmitline\">body\">\n* TheThoughseeingjerseyNews</verifyexpertinjurywidth=CookieSTART across_imagethreadnativepocketbox\">\nSystem DavidcancertablesprovedApril reallydriveritem\">more\">boardscolorscampusfirst || [];media.guitarfinishwidth:showedOther .php\" assumelayerswilsonstoresreliefswedenCustomeasily your String\n\nWhiltaylorclear:resortfrenchthough\") + \"<body>buyingbrandsMembername\">oppingsector5px;\">vspacepostermajor coffeemartinmaturehappen</nav>kansaslink\">Images=falsewhile hspace0& \n\nIn powerPolski-colorjordanBottomStart -count2.htmlnews\">01.jpgOnline-rightmillerseniorISBN 00,000 guidesvalue)ectionrepair.xml\" rights.html-blockregExp:hoverwithinvirginphones</tr>\rusing \n\tvar >');\n\t</td>\n</tr>\nbahasabrasilgalegomagyarpolskisrpskiX1X/Y\u0008d8-f\u0016\u0007g.\u0000d=\u0013g9\u0001i+\u0014d?!f\u0001/d8-e\u001B=f\u0008\u0011d;,d8\u0000d8*e\u0005,e\u000F8g.!g\u0010\u0006h.:e\u001D\u001Be\u000F/d;%f\u001C\re\n!f\u00176i\u00174d8*d::d:'e\u0013\u0001h\u0007*e71d<\u0001d8\u001Af\u001F%g\u001C\u000Be7%d=\u001Ch\u0001\u0014g3;f2!f\u001C\tg=\u0011g+\u0019f\t\u0000f\u001C\th/\u0004h.:d8-e?\u0003f\u0016\u0007g+ g\u0014(f\u00087i&\u0016i!5d=\u001Ch\u0000\u0005f\n\u0000f\u001C/i\u0017.i\"\u0018g\u001B8e\u00053d8\u000Bh==f\u0010\u001Cg4\"d=?g\u0014(h=/d;6e\u001C(g:?d8;i\"\u0018h5\u0004f\u0016\u0019h'\u0006i\"\u0011e\u001B\u001Ee$\rf3(e\u0006\u000Cg=\u0011g;\u001Cf\u00146h\u0017\u000Fe\u0006\u0005e.9f\u000E(h\r\u0010e8\u0002e\u001C:f6\u0008f\u0001/g):i\u00174e\u000F\u0011e8\u0003d;\u0000d9\u0008e%=e\u000F\u000Bg\u0014\u001Ff4;e\u001B>g\t\u0007e\u000F\u0011e1\u0015e&\u0002f\u001E\u001Cf\t\u000Bf\u001C:f\u00160i\u0017;f\u001C\u0000f\u00160f\u00169e<\u000Fe\u000C\u0017d:,f\u000F\u0010d>\u001Be\u00053d:\u000Ef\u001B4e$\u001Ah?\u0019d8*g3;g;\u001Fg\u001F%i\u0001\u0013f88f\u0008\u000Fe9?e\u0011\ne\u00056d;\u0016e\u000F\u0011h!(e.\te\u0005(g,,d8\u0000d<\u001Ae\u0011\u0018h?\u001Bh!\u000Cg\u00029e\u0007;g\t\u0008f\u001D\u0003g\u00145e-\u0010d8\u0016g\u0015\u000Ch.>h.!e\u0005\rh49f\u0015\u0019h\u00022e\n e\u0005%f4;e\n(d;\u0016d;,e\u0015\u0006e\u0013\u0001e\r\u001Ae.\"g\u000E0e\u001C(d8\nf57e&\u0002d=\u0015e72g;\u000Fg\u0015\u0019h(\u0000h/&g;\u0006g$>e\u000C:g\u0019;e=\u0015f\u001C,g+\u0019i\u001C\u0000h&\u0001d;7f <f\u0014/f\u000C\u0001e\u001B=i\u0019\u0005i\u0013>f\u000E%e\u001B=e.6e;:h.>f\u001C\u000Be\u000F\u000Bi\u0018\u0005h/;f3\u0015e>\u000Bd=\rg=.g;\u000Ff5\u000Ei\u0000\tf\u000B)h?\u0019f 7e=\u0013e\t\re\u0008\u0006g1;f\u000E\u0012h!\u000Ce\u001B d8:d:$f\u0018\u0013f\u001C\u0000e\u0010\u000Ei\u001F3d9\u0010d8\rh\u0003=i\u0000\u001Ah?\u0007h!\u000Cd8\u001Ag'\u0011f\n\u0000e\u000F/h\u0003=h.>e$\u0007e\u0010\u0008d=\u001Ce$'e.6g$>d<\u001Ag \u0014g)6d8\u0013d8\u001Ae\u0005(i\u0003(i!9g\u001B.h?\u0019i\u0007\u000Ch?\u0018f\u0018/e<\u0000e'\u000Bf\u0003\u0005e\u00065g\u00145h\u0004\u0011f\u0016\u0007d;6e\u0013\u0001g\t\u000Ce8.e\n)f\u0016\u0007e\u000C\u0016h5\u0004f:\u0010e$'e-&e-&d9 e\u001C0e\u001D\u0000f5\u000Fh'\u0008f\n\u0015h5\u0004e7%g(\u000Bh&\u0001f1\u0002f\u0000\u000Ed9\u0008f\u00176e\u0000\u0019e\n\u001Fh\u0003=d8;h&\u0001g\u001B.e\t\rh5\u0004h./e\u001F\u000Ee8\u0002f\u00169f3\u0015g\u00145e=1f\u000B\u001Bh\u0001\u0018e#0f\u0018\u000Ed;;d=\u0015e\u0001%e:7f\u00150f\r.g>\u000Ee\u001B=f1=h=&d;\u000Bg;\rd=\u0006f\u0018/d:$f5\u0001g\u0014\u001Fd:'f\t\u0000d;%g\u00145h/\u001Df\u0018>g$:d8\u0000d:\u001Be\r\u0015d=\rd::e\u0011\u0018e\u0008\u0006f\u001E\u0010e\u001C0e\u001B>f\u0017\u0005f88e7%e\u00057e-&g\u0014\u001Fg3;e\u0008\u0017g=\u0011e\u000F\u000Be8\u0016e-\u0010e/\u0006g \u0001i\"\u0011i\u0001\u0013f\u000E'e\u00086e\u001C0e\u000C:e\u001F:f\u001C,e\u0005(e\u001B=g=\u0011d8\ni\u0007\rh&\u0001g,,d:\u000Ce\u0016\u001Cf,\"h?\u001Be\u0005%e\u000F\u000Bf\u0003\u0005h?\u0019d:\u001Bh\u0000\u0003h/\u0015e\u000F\u0011g\u000E0e\u001F9h.-d;%d8\nf\u0014?e:\u001Cf\u0008\u0010d8:g\u000E/e\"\u0003i&\u0019f8/e\u0010\u000Cf\u00176e(1d9\u0010e\u000F\u0011i\u0000\u0001d8\u0000e.\u001Ae<\u0000e\u000F\u0011d=\u001Ce\u0013\u0001f \u0007e\u0007\u0006f,\"h?\u000Eh'#e\u00063e\u001C0f\u00169d8\u0000d8\u000Bd;%e\u000F\nh4#d;;f\u0008\u0016h\u0000\u0005e.\"f\u00087d;#h!(g'/e\u0008\u0006e%3d::f\u00150g \u0001i\u0014\u0000e\u0014.e\u0007:g\u000E0g&;g:?e:\u0014g\u0014(e\u0008\u0017h!(d8\re\u0010\u000Cg<\u0016h>\u0011g;\u001Fh.!f\u001F%h/\"d8\rh&\u0001f\u001C\te\u00053f\u001C:f\u001E\u0004e>\u0008e$\u001Af\u0012-f\u0014>g;\u0004g;\u0007f\u0014?g-\u0016g\u001B4f\u000E%h\u0003=e\n\u001Bf\u001D%f:\u0010f\u0019\u0002i\u0016\u0013g\u001C\u000Be\u00080g\u0003-i\u0017(e\u00053i\u0014.d8\u0013e\u000C:i\u001D\u001Ee88h\u000B1h/-g\u0019>e:&e8\u000Cf\u001C\u001Bg>\u000Ee%3f/\u0014h>\u0003g\u001F%h/\u0006h'\u0004e.\u001Ae;:h..i\u0003(i\u0017(f\u0004\u000Fh'\u0001g2>e=)f\u0017%f\u001C,f\u000F\u0010i+\u0018e\u000F\u0011h(\u0000f\u00169i\u001D\"e\u001F:i\u0007\u0011e$\u0004g\u0010\u0006f\u001D\u0003i\u0019\u0010e=1g\t\u0007i\u00136h!\u000Ch?\u0018f\u001C\te\u0008\u0006d:+g\t)e\u0013\u0001g;\u000Fh\u0010%f7;e\n d8\u0013e.6h?\u0019g'\rh/\u001Di\"\u0018h57f\u001D%d8\u001Ae\n!e\u0005,e\u0011\nh.0e=\u0015g.\u0000d;\u000Bh4(i\u0007\u000Fg\u00147d::e=1e\u0013\re<\u0015g\u0014(f\n%e\u0011\ni\u0003(e\u0008\u0006e?+i\u0000\u001Fe\u0012(h/\"f\u00176e0\u001Af3(f\u0004\u000Fg\u00143h/7e-&f !e:\u0014h/%e\u000E\u0006e\u000F2e\u000F*f\u0018/h?\u0014e\u001B\u001Eh4-d90e\u0010\rg'0d8:d:\u0006f\u0008\u0010e\n\u001Fh/4f\u0018\u000Ed>\u001Be:\u0014e-)e-\u0010d8\u0013i\"\u0018g(\u000Be:\u000Fd8\u0000h\u0008,f\u001C\u0003e\u0013!e\u000F*f\u001C\te\u00056e.\u0003d?\u001Df\n$h\u0000\u000Cd8\u0014d;\ne$)g*\u0017e\u000F#e\n(f\u0000\u0001g\n6f\u0000\u0001g\t9e\u0008+h.$d8:e?\u0005i!;f\u001B4f\u00160e0\u000Fh/4f\u0008\u0011e\u0000\u0011d=\u001Cd8:e*\u0012d=\u0013e\u000C\u0005f\u000B,i\u0002#d9\u0008d8\u0000f 7e\u001B=e\u0006\u0005f\u0018/e\u0010&f 9f\r.g\u00145h'\u0006e-&i\u0019\"e\u00057f\u001C\th?\u0007g(\u000Bg\u00141d:\u000Ed::f\t\re\u0007:f\u001D%d8\rh?\u0007f-#e\u001C(f\u0018\u000Ef\u0018\u001Ff\u0015\u0005d:\u000Be\u00053g3;f \u0007i\"\u0018e\u0015\u0006e\n!h>\u0013e\u0005%d8\u0000g\u001B4e\u001F:g!\u0000f\u0015\u0019e-&d:\u0006h'#e;:g-\u0011g;\u0013f\u001E\u001Ce\u0005(g\u0010\u0003i\u0000\u001Ag\u001F%h.!e\u0008\u0012e/9d:\u000Eh\t:f\u001C/g\u001B8e\u0006\u000Ce\u000F\u0011g\u0014\u001Fg\u001C\u001Fg\u001A\u0004e;:g+\u000Bg-\tg:'g1;e\u001E\u000Bg;\u000Fi*\u000Ce.\u001Eg\u000E0e\u00086d=\u001Cf\u001D%h\u0007*f \u0007g->d;%d8\u000Be\u000E\u001Fe\u0008\u001Bf\u0017 f3\u0015e\u00056d8-e\u0000\u000Bd::d8\u0000e\u0008\u0007f\u000C\u0007e\r\u0017e\u00053i\u0017-i\u001B\u0006e\u001B\"g,,d8\te\u00053f3(e\u001B f-$g\u0005'g\t\u0007f71e\u001C3e\u0015\u0006d8\u001Ae9?e7\u001Ef\u0017%f\u001C\u001Fi+\u0018g:'f\u001C\u0000h?\u0011g;<e\u0010\u0008h!(g$:d8\u0013h>\u0011h!\u000Cd8:d:$i\u0000\u001Ah/\u0004d;7h'\te>\u0017g2>e\r\u000Ee.6e:-e.\u000Cf\u0008\u0010f\u0004\u001Fh'\te.\th#\u0005e>\u0017e\u00080i\u0002.d;6e\u00086e:&i#\u001Fe\u0013\u0001h\u0019=g\u00046h=,h==f\n%d;7h.0h\u0000\u0005f\u00169f!\u0008h!\u000Cf\u0014?d::f0\u0011g\u0014(e\u0013\u0001d8\u001Ch%?f\u000F\u0010e\u0007:i\u0005\u0012e:\u0017g\u00046e\u0010\u000Ed;\u0018f,>g\u0003-g\u00029d;%e\t\re.\u000Ce\u0005(e\u000F\u0011e8\u0016h.>g=.i\"\u0006e/<e7%d8\u001Ae\u000C;i\u0019\"g\u001C\u000Bg\u001C\u000Bg;\u000Fe\u00058e\u000E\u001Fe\u001B e93e\u000F0e\u0010\u0004g'\re\"\u001Ee\n f\u001D\u0010f\u0016\u0019f\u00160e\"\u001Ed9\u000Be\u0010\u000Eh\u0001\u000Cd8\u001Af\u0015\u0008f\u001E\u001Cd;\ne94h.:f\u0016\u0007f\u0008\u0011e\u001B=e\u0011\nh/\tg\t\u0008d8;d?.f\u00149e\u000F\u0002d8\u000Ef\t\u0013e\r0e?+d9\u0010f\u001C:f\"0h'\u0002g\u00029e-\u0018e\u001C(g2>g%\u001Eh\u000E7e>\u0017e\u0008)g\u0014(g;'g;-d= d;,h?\u0019d9\u0008f(!e<\u000Fh/-h(\u0000h\u0003=e$\u001Fi\u001B\u0005h\u0019\u000Ef\u0013\rd=\u001Ci#\u000Ef <d8\u0000h57g'\u0011e-&d=\u0013h\u00022g\u001F-d?!f\u001D!d;6f2;g\u0016\u0017h?\u0010e\n(d:'d8\u001Ad<\u001Ah..e/<h\u0008*e\u0005\u0008g\u0014\u001Fh\u0001\u0014g\u001B\u001Fe\u000F/f\u0018/e\u0015\u000Fi!\u000Cg;\u0013f\u001E\u0004d=\u001Cg\u0014(h0\u0003f\u001F%h3\u0007f\u0016\u0019h\u0007*e\n(h4\u001Fh4#e\u0006\u001Cd8\u001Ah.?i\u0017.e.\u001Ef\u0016=f\u000E%e\u000F\u0017h.(h.:i\u0002#d8*e\u000F\ri&\u0008e\n e<:e%3f\u0000'h\u000C\u0003e\u001B4f\u001C\re\u000B\u0019d<\u0011i\u00172d;\nf\u0017%e.\"f\u001C\rh'\u0000g\u001C\u000Be\u000F\u0002e\n g\u001A\u0004h/\u001Dd8\u0000g\u00029d?\u001Dh/\u0001e\u001B>d9&f\u001C\tf\u0015\u0008f5\u000Bh/\u0015g';e\n(f\t\rh\u0003=e\u00063e.\u001Ah\u0002!g%(d8\rf\u0016-i\u001C\u0000f1\u0002d8\re>\u0017e\n\u001Ef3\u0015d9\u000Bi\u00174i\u0007\u0007g\u0014(h\u0010%i\u0014\u0000f\n\u0015h/\tg\u001B.f \u0007g\u00081f\u0003\u0005f\u0011\u0004e=1f\u001C\td:\u001Bh$\u0007h#=f\u0016\u0007e-&f\u001C:d<\u001Af\u00150e-\u0017h#\u0005d?.h4-g\t)e\u0006\u001Cf\u001D\u0011e\u0005(i\u001D\"g2>e\u0013\u0001e\u00056e.\u001Ed:\u000Bf\u0003\u0005f04e93f\u000F\u0010g$:d8\ne8\u0002h0\"h0\"f\u0019.i\u0000\u001Af\u0015\u0019e8\u0008d8\nd< g1;e\u0008+f-\u000Cf\u001B2f\u000B%f\u001C\te\u0008\u001Bf\u00160i\u0005\rd;6e\u000F*h&\u0001f\u00176d;#h3\u0007h(\nh>>e\u00080d::g\u0014\u001Fh.\"i\u0018\u0005h\u0000\u0001e8\u0008e1\u0015g$:e?\u0003g\u0010\u0006h44e-\u0010g62g+\u0019d8;i!\u000Ch\u0007*g\u00046g:'e\u0008+g.\u0000e\r\u0015f\u00149i\u001D)i\u0002#d:\u001Bf\u001D%h/4f\t\u0013e<\u0000d;#g \u0001e\u0008 i\u0019$h/\u0001e\u00088h\n\u0002g\u001B.i\u0007\rg\u00029f,!f\u00158e$\u001Ae0\u0011h'\u0004e\u0008\u0012h5\u0004i\u0007\u0011f\t>e\u00080d;%e\u0010\u000Ee$'e\u0005(d8;i!5f\u001C\u0000d=3e\u001B\u001Eg-\u0014e$)d8\u000Bd?\u001Di\u001A\u001Cg\u000E0d;#f#\u0000f\u001F%f\n\u0015g%(e0\u000Ff\u00176f2\u0012f\u001C\tf-#e88g\u0014\u001Ah\u00073d;#g\u0010\u0006g\u001B.e=\u0015e\u0005,e<\u0000e$\re\u00086i\u0007\u0011h\u001E\re98g&\u000Fg\t\u0008f\u001C,e=\"f\u0008\u0010e\u0007\u0006e$\u0007h!\u000Cf\u0003\u0005e\u001B\u001Ee\u00080f\u0000\u001Df\u00033f\u0000\u000Ef 7e\r\u000Fh..h.$h/\u0001f\u001C\u0000e%=d:'g\u0014\u001Ff\u000C\tg\u0005'f\u001C\rh#\u0005e9?d8\u001Ce\n(f<+i\u0007\u0007h4-f\u00160f\t\u000Bg;\u0004e\u001B>i\u001D\"f\u001D?e\u000F\u0002h\u0000\u0003f\u0014?f2;e.9f\u0018\u0013e$)e\u001C0e\n*e\n\u001Bd::d;,e\r\u0007g:'i\u0000\u001Fe:&d::g\t)h0\u0003f\u00154f5\u0001h!\u000Ci\u0000 f\u0008\u0010f\u0016\u0007e-\u0017i\u001F)e\u001B=h48f\u0018\u0013e<\u0000e1\u0015g\u001B8i\u0017\u001Ch!(g\u000E0e=1h'\u0006e&\u0002f-$g>\u000Ee.9e$'e0\u000Ff\n%i\u0001\u0013f\u001D!f,>e?\u0003f\u0003\u0005h.8e$\u001Af3\u0015h'\u0004e.6e1\u0005d9&e:\u0017h?\u001Ef\u000E%g+\u000Be\r3d8>f\n%f\n\u0000e7'e%%h?\u0010g\u0019;e\u0005%d;%f\u001D%g\u0010\u0006h.:d:\u000Bd;6h\u0007*g\u00141d8-e\r\u000Ee\n\u001Ee\u0005,e&\u0008e&\u0008g\u001C\u001Ff-#d8\ri\u0014\u0019e\u0005(f\u0016\u0007e\u0010\u0008e\u0010\u000Cd;7e\u0000<e\u0008+d::g\u001B\u0011g\u001D#e\u00057d=\u0013d8\u0016g:*e\u001B\"i\u0018\u001Fe\u0008\u001Bd8\u001Af\t?f\u000B\u0005e\"\u001Ei\u0015?f\u001C\td::d?\u001Df\u000C\u0001e\u0015\u0006e.6g;4d?.e\u000F0f9>e7&e\u000F3h\u0002!d;=g-\u0014f!\u0008e.\u001Ei\u0019\u0005g\u00145d?!g;\u000Fg\u0010\u0006g\u0014\u001Fe\u0011=e.#d< d;;e\n!f-#e<\u000Fg\t9h\t2d8\u000Bf\u001D%e\r\u000Fd<\u001Ae\u000F*h\u0003=e=\u0013g\u00046i\u0007\rf\u00160e\u0005'e.9f\u000C\u0007e/<h?\u0010h!\u000Cf\u0017%e?\u0017h3#e.6h6\u0005h?\u0007e\u001C\u001Fe\u001C0f5\u0019f1\u001Ff\u0014/d;\u0018f\u000E(e\u0007:g+\u0019i\u0015?f\u001D-e7\u001Ef\t'h!\u000Ce\u00086i\u0000 d9\u000Bd8\u0000f\u000E(e9?g\u000E0e\u001C:f\u000F\u000Fh?0e\u000F\u0018e\u000C\u0016d< g;\u001Ff-\u000Cf\t\u000Bd?\u001Di\u0019)h/>g(\u000Be\u000C;g\u0016\u0017g;\u000Fh?\u0007h?\u0007e\u000E;d9\u000Be\t\rf\u00146e\u0005%e94e:&f\u001D\u0002e?\u0017g>\u000Ed8=f\u001C\u0000i+\u0018g\u0019;i\u0019\u0006f\u001C*f\u001D%e\n e7%e\u0005\rh4#f\u0015\u0019g(\u000Bg\t\u0008e\u001D\u0017h:+d=\u0013i\u0007\re:\u0006e\u0007:e\u0014.f\u0008\u0010f\u001C,e=\"e<\u000Fe\u001C\u001Fh1\u0006e\u0007:e\u00039d8\u001Cf\u00169i\u0002.g.1e\r\u0017d:,f1\u0002h\u0001\u000Ce\u000F\u0016e>\u0017h\u0001\u000Cd=\rg\u001B8d?!i!5i\u001D\"e\u0008\u0006i\u0012\u001Fg=\u0011i!5g!.e.\u001Ae\u001B>d>\u000Bg=\u0011e\u001D\u0000g'/f\u001E\u0001i\u0014\u0019h//g\u001B.g\u001A\u0004e.\u001Dh4\u001Df\u001C:e\u00053i#\u000Ei\u0019)f\u000E\u0008f\u001D\u0003g\u0017\u0005f/\u0012e. g\t)i\u0019$d:\u0006h)\u0015h+\u0016g\u0016>g\u0017\u0005e\u000F\nf\u00176f1\u0002h4-g+\u0019g\u00029e\u0004?g+%f/\u000Fe$)d8-e$.h.$h/\u0006f/\u000Fd8*e$)f4%e-\u0017d=\u0013e\u000F0g\u0001#g;4f\n$f\u001C,i!5d8*f\u0000'e.\u0018f\u00169e88h'\u0001g\u001B8f\u001C:f\u0008\u0018g\u0015%e:\u0014e=\u0013e>\u000Be8\u0008f\u00169d>?f !e\u001B-h\u0002!e8\u0002f\u0008?e1\u000Bf \u000Fg\u001B.e\u0011\u0018e7%e/<h\u00074g*\u0001g\u00046i\u0001\u0013e\u00057f\u001C,g=\u0011g;\u0013e\u0010\u0008f!#f!\u0008e\n3e\n(e\u000F&e$\u0016g>\u000Ee\u0005\u0003e<\u0015h57f\u00149e\u000F\u0018g,,e\u001B\u001Bd<\u001Ah.!h**f\u0018\u000Ei\u001A\u0010g'\u0001e.\u001De.\u001Dh'\u0004h\u000C\u0003f6\u0008h49e\u00051e\u0010\u000Ce?\u0018h.0d=\u0013g3;e8&f\u001D%e\u0010\re-\u0017g\u0019<h!(e<\u0000f\u0014>e\n g\u001B\u001Fe\u000F\u0017e\u00080d:\u000Cf\t\u000Be$'i\u0007\u000Ff\u0008\u0010d::f\u00150i\u0007\u000Fe\u00051d:+e\u000C:e\u001F\u001Fe%3e-)e\u000E\u001Fe\u0008\u0019f\t\u0000e\u001C(g;\u0013f\u001D\u001Fi\u0000\u001Ad?!h6\u0005g:'i\u0005\rg=.e=\u0013f\u00176d<\u0018g'\u0000f\u0000'f\u0004\u001Ff\u0008?d:'i\u0001\nf\u00082e\u0007:e\u000F#f\u000F\u0010d:$e01d8\u001Ad?\u001De\u0001%g(\u000Be:&e\u000F\u0002f\u00150d:\u000Bd8\u001Af\u00154d8*e11d8\u001Cf\u0003\u0005f\u0004\u001Fg\t9f.\ne\u0008\u0006i!\u001Ef\u0010\u001Ce0\u000Be1\u001Ed:\u000Ei\u0017(f\u00087h4\"e\n!e#0i\u001F3e\u000F\ne\u00056h4\"g;\u000Fe\u001D\u001Af\u000C\u0001e92i\u0003(f\u0008\u0010g+\u000Be\u0008)g\u001B\nh\u0000\u0003h\u0019\u0011f\u0008\u0010i\u0003=e\u000C\u0005h#\u0005g\u0014(f\u00086f/\u0014h5\u001Bf\u0016\u0007f\u0018\u000Ef\u000B\u001Be\u0015\u0006e.\u000Cf\u00154g\u001C\u001Ff\u0018/g\u001C<g\u001D\u001Bd<\u0019d<4e(\u0001f\u001C\u001Bi\"\u0006e\u001F\u001Fe\r+g\u0014\u001Fd<\u0018f\u0003 h+\u0016e#\u0007e\u0005,e\u00051h\t/e%=e\u0005\u0005e\u0008\u0006g,&e\u0010\u0008i\u0019\u0004d;6g\t9g\u00029d8\re\u000F/h\u000B1f\u0016\u0007h5\u0004d:'f 9f\u001C,f\u0018\u000Ef\u0018>e/\u0006g\"<e\u0005,d<\u0017f0\u0011f\u0017\u000Ff\u001B4e\n d:+e\u000F\u0017e\u0010\u000Ce-&e\u0010/e\n(i\u0000\u0002e\u0010\u0008e\u000E\u001Ff\u001D%i\u0017.g-\u0014f\u001C,f\u0016\u0007g>\u000Ei#\u001Fg;?h\t2g(3e.\u001Ag;\u0008d:\u000Eg\u0014\u001Fg\t)d>\u001Bf1\u0002f\u0010\u001Cg\u000B\u0010e\n\u001Bi\u0007\u000Fd8%i\u0007\rf08h?\u001Ce\u0006\u0019g\u001C\u001Ff\u001C\ti\u0019\u0010g+\u001Ed:\te/9h1!h49g\u0014(d8\re%=g;\u001De/9e\r\u0001e\u0008\u0006d?\u0003h?\u001Bg\u00029h/\u0004e=1i\u001F3d<\u0018e\n?d8\re0\u0011f,#h5\u000Fe96d8\u0014f\u001C\tg\u00029f\u00169e\u0010\u0011e\u0005(f\u00160d?!g\u0014(h.>f\u0016=e=\"h1!h5\u0004f <g*\u0001g 4i\u001A\u000Fg\u001D\u0000i\u0007\re$'d:\u000Ef\u0018/f/\u0015d8\u001Af\u0019:h\u0003=e\u000C\u0016e7%e.\u000Cg>\u000Ee\u0015\u0006e\u001F\u000Eg;\u001Fd8\u0000e\u0007:g\t\u0008f\t\u0013i\u0000 g\u0014\"e\u0013\u0001f&\u0002e\u00065g\u0014(d:\u000Ed?\u001Dg\u0015\u0019e\u001B g4 d8-e\u001C\u000Be-\u0018e\u0002(h44e\u001B>f\u001C\u0000f\u0004\u001Bi\u0015?f\u001C\u001Fe\u000F#d;7g\u0010\u0006h4\"e\u001F:e\u001C0e.\tf\u000E\u0012f-&f1\ti\u0007\u000Ci\u001D\"e\u0008\u001Be;:e$)g):i&\u0016e\u0005\u0008e.\u000Ce\u0016\u0004i)1e\n(d8\u000Bi\u001D\"d8\re\u0006\rh/\u001Ad?!f\u0004\u000Fd9\ti\u00183e\u0005\th\u000B1e\u001B=f<\u0002d:.e\u0006\u001Bd:\u000Bg\u000E)e.6g>$d<\u0017e\u0006\u001Cf0\u0011e\r3e\u000F/e\u0010\rg(1e.6e\u00057e\n(g\u0014;f\u00033e\u00080f3(f\u0018\u000Ee0\u000Fe-&f\u0000'h\u0003=h\u0000\u0003g \u0014g!,d;6h'\u0002g\u001C\u000Bf8\u0005f%\u001Af\u0010\u001Eg,\u0011i&\u0016i \u0001i;\u0004i\u0007\u0011i\u0000\u0002g\u0014(f1\u001Fh\u000B\u000Fg\u001C\u001Fe.\u001Ed8;g.!i\u00186f.5h(;e\u0006\ng?;h/\u0011f\u001D\u0003e\u0008)e\u0001\u001Ae%=d<<d9\u000Ei\u0000\u001Ah./f\u0016=e7%g\u000B\u0000f\u0005\u000Bd9\u001Fh.8g\u000E/d?\u001De\u001F9e\u0005;f&\u0002e?5e$'e\u001E\u000Bf\u001C:g%(g\u0010\u0006h'#e\u000C?e\u0010\rcuandoenviarmadridbuscariniciotiempoporquecuentaestadopuedenjuegoscontraestC!nnombretienenperfilmaneraamigosciudadcentroaunquepuedesdentroprimerpreciosegC:nbuenosvolverpuntossemanahabC-aagostonuevosunidoscarlosequiponiC1osmuchosalgunacorreoimagenpartirarribamarC-ahombreempleoverdadcambiomuchasfueronpasadolC-neaparecenuevascursosestabaquierolibroscuantoaccesomiguelvarioscuatrotienesgruposserC!neuropamediosfrenteacercademC!sofertacochesmodeloitalialetrasalgC:ncompracualesexistecuerposiendoprensallegarviajesdineromurciapodrC!puestodiariopuebloquieremanuelpropiocrisisciertoseguromuertefuentecerrargrandeefectopartesmedidapropiaofrecetierrae-mailvariasformasfuturoobjetoseguirriesgonormasmismosC:nicocaminositiosrazC3ndebidopruebatoledotenC-ajesC:sesperococinaorigentiendacientocC!dizhablarserC-alatinafuerzaestiloguerraentrarC)xitolC3pezagendavC-deoevitarpaginametrosjavierpadresfC!cilcabezaC!reassalidaenvC-ojapC3nabusosbienestextosllevarpuedanfuertecomC:nclaseshumanotenidobilbaounidadestC!seditarcreadoP4P;Q\u000FQ\u0007Q\u0002P>P:P0P:P8P;P8Q\rQ\u0002P>P2Q\u0001P5P5P3P>P?Q\u0000P8Q\u0002P0P:P5Q\tP5Q\u0003P6P5P\u001AP0P:P1P5P7P1Q\u000BP;P>P=P8P\u0012Q\u0001P5P?P>P4P-Q\u0002P>Q\u0002P>P<Q\u0007P5P<P=P5Q\u0002P;P5Q\u0002Q\u0000P0P7P>P=P0P3P4P5P<P=P5P\u0014P;Q\u000FP\u001FQ\u0000P8P=P0Q\u0001P=P8Q\u0005Q\u0002P5P<P:Q\u0002P>P3P>P4P2P>Q\u0002Q\u0002P0P<P!P(P\u0010P<P0Q\u000FP'Q\u0002P>P2P0Q\u0001P2P0P<P5P<Q\u0003P\"P0P:P4P2P0P=P0P<Q\rQ\u0002P8Q\rQ\u0002Q\u0003P\u0012P0P<Q\u0002P5Q\u0005P?Q\u0000P>Q\u0002Q\u0003Q\u0002P=P0P4P4P=Q\u000FP\u0012P>Q\u0002Q\u0002Q\u0000P8P=P5P9P\u0012P0Q\u0001P=P8P<Q\u0001P0P<Q\u0002P>Q\u0002Q\u0000Q\u0003P1P\u001EP=P8P<P8Q\u0000P=P5P5P\u001EP\u001EP\u001EP;P8Q\u0006Q\rQ\u0002P0P\u001EP=P0P=P5P<P4P>P<P<P>P9P4P2P5P>P=P>Q\u0001Q\u0003P4`$\u0015`%\u0007`$9`%\u0008`$\u0015`%\u0000`$8`%\u0007`$\u0015`$>`$\u0015`%\u000B`$\u0014`$0`$*`$0`$(`%\u0007`$\u000F`$\u0015`$\u0015`$?`$-`%\u0000`$\u0007`$8`$\u0015`$0`$$`%\u000B`$9`%\u000B`$\u0006`$*`$9`%\u0000`$/`$9`$/`$>`$$`$\u0015`$%`$>jagran`$\u0006`$\u001C`$\u001C`%\u000B`$\u0005`$,`$&`%\u000B`$\u0017`$\u0008`$\u001C`$>`$\u0017`$\u000F`$9`$.`$\u0007`$(`$5`$9`$/`%\u0007`$%`%\u0007`$%`%\u0000`$\u0018`$0`$\u001C`$,`$&`%\u0000`$\u0015`$\u0008`$\u001C`%\u0000`$5`%\u0007`$(`$\u0008`$(`$\u000F`$9`$0`$\t`$8`$.`%\u0007`$\u0015`$.`$5`%\u000B`$2`%\u0007`$8`$,`$.`$\u0008`$&`%\u0007`$\u0013`$0`$\u0006`$.`$,`$8`$-`$0`$,`$(`$\u001A`$2`$.`$(`$\u0006`$\u0017`$8`%\u0000`$2`%\u0000X9Y\u0004Y\tX%Y\u0004Y\tY\u0007X0X'X\"X.X1X9X/X/X'Y\u0004Y\tY\u0007X0Y\u0007X5Y\u0008X1X:Y\nX1Y\u0003X'Y\u0006Y\u0008Y\u0004X'X(Y\nY\u0006X9X1X6X0Y\u0004Y\u0003Y\u0007Y\u0006X'Y\nY\u0008Y\u0005Y\u0002X'Y\u0004X9Y\u0004Y\nX'Y\u0006X'Y\u0004Y\u0003Y\u0006X-X*Y\tY\u0002X(Y\u0004Y\u0008X-X)X'X.X1Y\u0001Y\u0002X7X9X(X/X1Y\u0003Y\u0006X%X0X'Y\u0003Y\u0005X'X'X-X/X%Y\u0004X'Y\u0001Y\nY\u0007X(X9X6Y\u0003Y\nY\u0001X(X-X+Y\u0008Y\u0005Y\u0006Y\u0008Y\u0007Y\u0008X#Y\u0006X'X,X/X'Y\u0004Y\u0007X'X3Y\u0004Y\u0005X9Y\u0006X/Y\u0004Y\nX3X9X(X1X5Y\u0004Y\tY\u0005Y\u0006X0X(Y\u0007X'X#Y\u0006Y\u0007Y\u0005X+Y\u0004Y\u0003Y\u0006X*X'Y\u0004X'X-Y\nX+Y\u0005X5X1X4X1X-X-Y\u0008Y\u0004Y\u0008Y\u0001Y\nX'X0X'Y\u0004Y\u0003Y\u0004Y\u0005X1X)X'Y\u0006X*X'Y\u0004Y\u0001X#X(Y\u0008X.X'X5X#Y\u0006X*X'Y\u0006Y\u0007X'Y\u0004Y\nX9X6Y\u0008Y\u0008Y\u0002X/X'X(Y\u0006X.Y\nX1X(Y\u0006X*Y\u0004Y\u0003Y\u0005X4X'X!Y\u0008Y\u0007Y\nX'X(Y\u0008Y\u0002X5X5Y\u0008Y\u0005X'X1Y\u0002Y\u0005X#X-X/Y\u0006X-Y\u0006X9X/Y\u0005X1X#Y\nX'X-X)Y\u0003X*X(X/Y\u0008Y\u0006Y\nX,X(Y\u0005Y\u0006Y\u0007X*X-X*X,Y\u0007X)X3Y\u0006X)Y\nX*Y\u0005Y\u0003X1X)X:X2X)Y\u0006Y\u0001X3X(Y\nX*Y\u0004Y\u0004Y\u0007Y\u0004Y\u0006X'X*Y\u0004Y\u0003Y\u0002Y\u0004X(Y\u0004Y\u0005X'X9Y\u0006Y\u0007X#Y\u0008Y\u0004X4Y\nX!Y\u0006Y\u0008X1X#Y\u0005X'Y\u0001Y\nY\u0003X(Y\u0003Y\u0004X0X'X*X1X*X(X(X#Y\u0006Y\u0007Y\u0005X3X'Y\u0006Y\u0003X(Y\nX9Y\u0001Y\u0002X/X-X3Y\u0006Y\u0004Y\u0007Y\u0005X4X9X1X#Y\u0007Y\u0004X4Y\u0007X1Y\u0002X7X1X7Y\u0004X(profileservicedefaulthimselfdetailscontentsupportstartedmessagesuccessfashion<title>countryaccountcreatedstoriesresultsrunningprocesswritingobjectsvisiblewelcomearticleunknownnetworkcompanydynamicbrowserprivacyproblemServicerespectdisplayrequestreservewebsitehistoryfriendsoptionsworkingversionmillionchannelwindow.addressvisitedweathercorrectproductedirectforwardyou canremovedsubjectcontrolarchivecurrentreadinglibrarylimitedmanagerfurthersummarymachineminutesprivatecontextprogramsocietynumberswrittenenabledtriggersourcesloadingelementpartnerfinallyperfectmeaningsystemskeepingculture",journalprojectsurfaces"expiresreviewsbalanceEnglishContentthroughPlease opinioncontactaverageprimaryvillageSpanishgallerydeclinemeetingmissionpopularqualitymeasuregeneralspeciessessionsectionwriterscounterinitialreportsfiguresmembersholdingdisputeearlierexpressdigitalpictureAnothermarriedtrafficleadingchangedcentralvictoryimages/reasonsstudiesfeaturelistingmust beschoolsVersionusuallyepisodeplayinggrowingobviousoverlaypresentactions</ul>\r\nwrapperalreadycertainrealitystorageanotherdesktopofferedpatternunusualDigitalcapitalWebsitefailureconnectreducedAndroiddecadesregular & animalsreleaseAutomatgettingmethodsnothingPopularcaptionletterscapturesciencelicensechangesEngland=1&History = new CentralupdatedSpecialNetworkrequirecommentwarningCollegetoolbarremainsbecauseelectedDeutschfinanceworkersquicklybetweenexactlysettingdiseaseSocietyweaponsexhibit<!--Controlclassescoveredoutlineattacksdevices(windowpurposetitle=\"Mobile killingshowingItaliandroppedheavilyeffects-1']);\nconfirmCurrentadvancesharingopeningdrawingbillionorderedGermanyrelated</form>includewhetherdefinedSciencecatalogArticlebuttonslargestuniformjourneysidebarChicagoholidayGeneralpassage,"animatefeelingarrivedpassingnaturalroughly.\n\nThe but notdensityBritainChineselack oftributeIreland\" data-factorsreceivethat isLibraryhusbandin factaffairsCharlesradicalbroughtfindinglanding:lang=\"return leadersplannedpremiumpackageAmericaEdition]"Messageneed tovalue=\"complexlookingstationbelievesmaller-mobilerecordswant tokind ofFirefoxyou aresimilarstudiedmaximumheadingrapidlyclimatekingdomemergedamountsfoundedpioneerformuladynastyhow to SupportrevenueeconomyResultsbrothersoldierlargelycalling."AccountEdward segmentRobert effortsPacificlearnedup withheight:we haveAngelesnations_searchappliedacquiremassivegranted: falsetreatedbiggestbenefitdrivingStudiesminimumperhapsmorningsellingis usedreversevariant role=\"missingachievepromotestudentsomeoneextremerestorebottom:evolvedall thesitemapenglishway to AugustsymbolsCompanymattersmusicalagainstserving})();\r\npaymenttroubleconceptcompareparentsplayersregionsmonitor ''The winningexploreadaptedGalleryproduceabilityenhancecareers). The collectSearch ancientexistedfooter handlerprintedconsoleEasternexportswindowsChannelillegalneutralsuggest_headersigning.html\">settledwesterncausing-webkitclaimedJusticechaptervictimsThomas mozillapromisepartieseditionoutside:false,hundredOlympic_buttonauthorsreachedchronicdemandssecondsprotectadoptedprepareneithergreatlygreateroverallimprovecommandspecialsearch.worshipfundingthoughthighestinsteadutilityquarterCulturetestingclearlyexposedBrowserliberal} catchProjectexamplehide();FloridaanswersallowedEmperordefenseseriousfreedomSeveral-buttonFurtherout of != nulltrainedDenmarkvoid(0)/all.jspreventRequestStephen\n\nWhen observe</h2>\r\nModern provide\" alt=\"borders.\n\nFor \n\nMany artistspoweredperformfictiontype ofmedicalticketsopposedCouncilwitnessjusticeGeorge Belgium...</a>twitternotablywaitingwarfare Other rankingphrasesmentionsurvivescholar</p>\r\n Countryignoredloss ofjust asGeorgiastrange<head><stopped1']);\r\nislandsnotableborder:list ofcarried100,000</h3>\n severalbecomesselect wedding00.htmlmonarchoff theteacherhighly biologylife ofor evenrise of»plusonehunting(thoughDouglasjoiningcirclesFor theAncientVietnamvehiclesuch ascrystalvalue =Windowsenjoyeda smallassumed<a id=\"foreign All rihow theDisplayretiredhoweverhidden;battlesseekingcabinetwas notlook atconductget theJanuaryhappensturninga:hoverOnline French lackingtypicalextractenemieseven ifgeneratdecidedare not/searchbeliefs-image:locatedstatic.login\">convertviolententeredfirst\">circuitFinlandchemistshe was10px;\">as suchdivided</span>will beline ofa greatmystery/index.fallingdue to railwaycollegemonsterdescentit withnuclearJewish protestBritishflowerspredictreformsbutton who waslectureinstantsuicidegenericperiodsmarketsSocial fishingcombinegraphicwinners<br /><by the NaturalPrivacycookiesoutcomeresolveSwedishbrieflyPersianso muchCenturydepictscolumnshousingscriptsnext tobearingmappingrevisedjQuery(-width:title\">tooltipSectiondesignsTurkishyounger.match(})();\n\nburningoperatedegreessource=Richardcloselyplasticentries</tr>\r\ncolor:#ul id=\"possessrollingphysicsfailingexecutecontestlink toDefault<br />\n: true,chartertourismclassicproceedexplain</h1>\r\nonline.?xml vehelpingdiamonduse theairlineend -->).attr(readershosting#ffffffrealizeVincentsignals src=\"/ProductdespitediversetellingPublic held inJoseph theatreaffects<style>a largedoesn'tlater, ElementfaviconcreatorHungaryAirportsee theso thatMichaelSystemsPrograms, and width=e"tradingleft\">\npersonsGolden Affairsgrammarformingdestroyidea ofcase ofoldest this is.src = cartoonregistrCommonsMuslimsWhat isin manymarkingrevealsIndeed,equally/show_aoutdoorescape(Austriageneticsystem,In the sittingHe alsoIslandsAcademy\n\t\t<!--Daniel bindingblock\">imposedutilizeAbraham(except{width:putting).html(|| [];\nDATA[ *kitchenmountedactual dialectmainly _blank'installexpertsif(typeIt also© \">Termsborn inOptionseasterntalkingconcerngained ongoingjustifycriticsfactoryits ownassaultinvitedlastinghis ownhref=\"/\" rel=\"developconcertdiagramdollarsclusterphp?id=alcohol);})();using a><span>vesselsrevivalAddressamateurandroidallegedillnesswalkingcentersqualifymatchesunifiedextinctDefensedied in\n\t<!-- customslinkingLittle Book ofeveningmin.js?are thekontakttoday's.html\" target=wearingAll Rig;\n})();raising Also, crucialabout\">declare-->\n<scfirefoxas muchappliesindex, s, but type = \n\r\n<!--towardsRecordsPrivateForeignPremierchoicesVirtualreturnsCommentPoweredinline;povertychamberLiving volumesAnthonylogin\" RelatedEconomyreachescuttinggravitylife inChapter-shadowNotable</td>\r\n returnstadiumwidgetsvaryingtravelsheld bywho arework infacultyangularwho hadairporttown of\n\nSome 'click'chargeskeywordit willcity of(this);Andrew unique checkedor more300px; return;rsion=\"pluginswithin herselfStationFederalventurepublishsent totensionactresscome tofingersDuke ofpeople,exploitwhat isharmonya major\":\"httpin his menu\">\nmonthlyofficercouncilgainingeven inSummarydate ofloyaltyfitnessand wasemperorsupremeSecond hearingRussianlongestAlbertalateralset of small\">.appenddo withfederalbank ofbeneathDespiteCapitalgrounds), and percentit fromclosingcontainInsteadfifteenas well.yahoo.respondfighterobscurereflectorganic= Math.editingonline paddinga wholeonerroryear ofend of barrierwhen itheader home ofresumedrenamedstrong>heatingretainscloudfrway of March 1knowingin partBetweenlessonsclosestvirtuallinks\">crossedEND -->famous awardedLicenseHealth fairly wealthyminimalAfricancompetelabel\">singingfarmersBrasil)discussreplaceGregoryfont copursuedappearsmake uproundedboth ofblockedsaw theofficescoloursif(docuwhen heenforcepush(fuAugust UTF-8\">Fantasyin mostinjuredUsuallyfarmingclosureobject defenceuse of Medical<body>\nevidentbe usedkeyCodesixteenIslamic#000000entire widely active (typeofone cancolor =speakerextendsPhysicsterrain<tbody>funeralviewingmiddle cricketprophetshifteddoctorsRussell targetcompactalgebrasocial-bulk ofman and</td>\n he left).val()false);logicalbankinghome tonaming Arizonacredits);\n});\nfounderin turnCollinsbefore But thechargedTitle\">CaptainspelledgoddessTag -->Adding:but wasRecent patientback in=false&Lincolnwe knowCounterJudaismscript altered']);\n has theunclearEvent',both innot all\n\n<!-- placinghard to centersort ofclientsstreetsBernardassertstend tofantasydown inharbourFreedomjewelry/about..searchlegendsis mademodern only ononly toimage\" linear painterand notrarely acronymdelivershorter00&as manywidth=\"/* <![Ctitle =of the lowest picked escapeduses ofpeoples PublicMatthewtacticsdamagedway forlaws ofeasy to windowstrong simple}catch(seventhinfoboxwent topaintedcitizenI don'tretreat. Some ww.\");\nbombingmailto:made in. Many carries||{};wiwork ofsynonymdefeatsfavoredopticalpageTraunless sendingleft\"><comScorAll thejQuery.touristClassicfalse\" Wilhelmsuburbsgenuinebishops.split(global followsbody ofnominalContactsecularleft tochiefly-hidden-banner</li>\n\n. When in bothdismissExplorealways via thespaC1olwelfareruling arrangecaptainhis sonrule ofhe tookitself,=0&(calledsamplesto makecom/pagMartin Kennedyacceptsfull ofhandledBesides//--></able totargetsessencehim to its by common.mineralto takeways tos.org/ladvisedpenaltysimple:if theyLettersa shortHerbertstrikes groups.lengthflightsoverlapslowly lesser social </p>\n\t\tit intoranked rate oful>\r\n attemptpair ofmake itKontaktAntoniohaving ratings activestreamstrapped\").css(hostilelead tolittle groups,Picture-->\r\n\r\n rows=\" objectinverse<footerCustomV><\\/scrsolvingChamberslaverywoundedwhereas!= 'undfor allpartly -right:Arabianbacked centuryunit ofmobile-Europe,is homerisk ofdesiredClintoncost ofage of become none ofp"Middle ead')[0Criticsstudios>©group\">assemblmaking pressedwidget.ps:\" ? rebuiltby someFormer editorsdelayedCanonichad thepushingclass=\"but arepartialBabylonbottom carrierCommandits useAs withcoursesa thirddenotesalso inHouston20px;\">accuseddouble goal ofFamous ).bind(priests Onlinein Julyst + \"gconsultdecimalhelpfulrevivedis veryr'+'iptlosing femalesis alsostringsdays ofarrivalfuture <objectforcingString(\" />\n\t\there isencoded. The balloondone by/commonbgcolorlaw of Indianaavoidedbut the2px 3pxjquery.after apolicy.men andfooter-= true;for usescreen.Indian image =family,http:// driverseternalsame asnoticedviewers})();\n is moreseasonsformer the newis justconsent Searchwas thewhy theshippedbr><br>width: height=made ofcuisineis thata very Admiral fixed;normal MissionPress, ontariocharsettry to invaded=\"true\"spacingis mosta more totallyfall of});\r\n immensetime inset outsatisfyto finddown tolot of Playersin Junequantumnot thetime todistantFinnishsrc = (single help ofGerman law andlabeledforestscookingspace\">header-well asStanleybridges/globalCroatia About [0];\n it, andgroupedbeing a){throwhe madelighterethicalFFFFFF\"bottom\"like a employslive inas seenprintermost ofub-linkrejectsand useimage\">succeedfeedingNuclearinformato helpWomen'sNeitherMexicanprotein<table by manyhealthylawsuitdevised.push({sellerssimply Through.cookie Image(older\">us.js\"> Since universlarger open to!-- endlies in']);\r\n marketwho is (\"DOMComanagedone fortypeof Kingdomprofitsproposeto showcenter;made itdressedwere inmixtureprecisearisingsrc = 'make a securedBaptistvoting \n\t\tvar March 2grew upClimate.removeskilledway the</head>face ofacting right\">to workreduceshas haderectedshow();action=book ofan area== \"htt<header\n<html>conformfacing cookie.rely onhosted .customhe wentbut forspread Family a meansout theforums.footage\">MobilClements\" id=\"as highintense--><!--female is seenimpliedset thea stateand hisfastestbesidesbutton_bounded\"><img Infoboxevents,a youngand areNative cheaperTimeoutand hasengineswon the(mostlyright: find a -bottomPrince area ofmore ofsearch_nature,legallyperiod,land ofor withinducedprovingmissilelocallyAgainstthe wayk"px;\">\r\npushed abandonnumeralCertainIn thismore inor somename isand, incrownedISBN 0-createsOctobermay notcenter late inDefenceenactedwish tobroadlycoolingonload=it. TherecoverMembersheight assumes<html>\npeople.in one =windowfooter_a good reklamaothers,to this_cookiepanel\">London,definescrushedbaptismcoastalstatus title\" move tolost inbetter impliesrivalryservers SystemPerhapses and contendflowinglasted rise inGenesisview ofrising seem tobut in backinghe willgiven agiving cities.flow of Later all butHighwayonly bysign ofhe doesdiffersbattery&lasinglesthreatsintegertake onrefusedcalled =US&See thenativesby thissystem.head of:hover,lesbiansurnameand allcommon/header__paramsHarvard/pixel.removalso longrole ofjointlyskyscraUnicodebr />\r\nAtlantanucleusCounty,purely count\">easily build aonclicka givenpointerh"events else {\nditionsnow the, with man whoorg/Webone andcavalryHe diedseattle00,000 {windowhave toif(windand itssolely m"renewedDetroitamongsteither them inSenatorUs</a><King ofFrancis-produche usedart andhim andused byscoringat hometo haverelatesibilityfactionBuffalolink\"><what hefree toCity ofcome insectorscountedone daynervoussquare };if(goin whatimg\" alis onlysearch/tuesdaylooselySolomonsexual - <a hrmedium\"DO NOT France,with a war andsecond take a >\r\n\r\n\r\nmarket.highwaydone inctivity\"last\">obligedrise to\"undefimade to Early praisedin its for hisathleteJupiterYahoo! termed so manyreally s. The a woman?value=direct right\" bicycleacing=\"day andstatingRather,higher Office are nowtimes, when a pay foron this-link\">;borderaround annual the Newput the.com\" takin toa brief(in thegroups.; widthenzymessimple in late{returntherapya pointbanninginks\">\n();\" rea place\\u003Caabout atr>\r\n\t\tccount gives a<SCRIPTRailwaythemes/toolboxById(\"xhumans,watchesin some if (wicoming formats Under but hashanded made bythan infear ofdenoted/iframeleft involtagein eacha"base ofIn manyundergoregimesaction </p>\r\n<ustomVa;></importsor thatmostly &re size=\"</a></ha classpassiveHost = WhetherfertileVarious=[];(fucameras/></td>acts asIn some>\r\n\r\n<!organis <br />BeijingcatalC deutscheuropeueuskaragaeilgesvenskaespaC1amensajeusuariotrabajomC)xicopC!ginasiempresistemaoctubreduranteaC1adirempresamomentonuestroprimeratravC)sgraciasnuestraprocesoestadoscalidadpersonanC:meroacuerdomC:sicamiembroofertasalgunospaC-sesejemploderechoademC!sprivadoagregarenlacesposiblehotelessevillaprimeroC:ltimoeventosarchivoculturamujeresentradaanuncioembargomercadograndesestudiomejoresfebrerodiseC1oturismocC3digoportadaespaciofamiliaantoniopermiteguardaralgunaspreciosalguiensentidovisitastC-tuloconocersegundoconsejofranciaminutossegundatenemosefectosmC!lagasesiC3nrevistagranadacompraringresogarcC-aacciC3necuadorquienesinclusodeberC!materiahombresmuestrapodrC-amaC1anaC:ltimaestamosoficialtambienningC:nsaludospodemosmejorarpositionbusinesshomepagesecuritylanguagestandardcampaignfeaturescategoryexternalchildrenreservedresearchexchangefavoritetemplatemilitaryindustryservicesmaterialproductsz-index:commentssoftwarecompletecalendarplatformarticlesrequiredmovementquestionbuildingpoliticspossiblereligionphysicalfeedbackregisterpicturesdisabledprotocolaudiencesettingsactivityelementslearninganythingabstractprogressoverviewmagazineeconomictrainingpressurevarious <strong>propertyshoppingtogetheradvancedbehaviordownloadfeaturedfootballselectedLanguagedistanceremembertrackingpasswordmodifiedstudentsdirectlyfightingnortherndatabasefestivalbreakinglocationinternetdropdownpracticeevidencefunctionmarriageresponseproblemsnegativeprogramsanalysisreleasedbanner\">purchasepoliciesregionalcreativeargumentbookmarkreferrerchemicaldivisioncallbackseparateprojectsconflicthardwareinterestdeliverymountainobtained= false;for(var acceptedcapacitycomputeridentityaircraftemployedproposeddomesticincludesprovidedhospitalverticalcollapseapproachpartnerslogo\"><adaughterauthor\" culturalfamilies/images/assemblypowerfulteachingfinisheddistrictcriticalcgi-bin/purposesrequireselectionbecomingprovidesacademicexerciseactuallymedicineconstantaccidentMagazinedocumentstartingbottom\">observed: "extendedpreviousSoftwarecustomerdecisionstrengthdetailedslightlyplanningtextareacurrencyeveryonestraighttransferpositiveproducedheritageshippingabsolutereceivedrelevantbutton\" violenceanywherebenefitslaunchedrecentlyalliancefollowedmultiplebulletinincludedoccurredinternal$(this).republic><tr><tdcongressrecordedultimatesolution<ul id=\"discoverHome</a>websitesnetworksalthoughentirelymemorialmessagescontinueactive\">somewhatvictoriaWestern title=\"LocationcontractvisitorsDownloadwithout right\">\nmeasureswidth = variableinvolvedvirginianormallyhappenedaccountsstandingnationalRegisterpreparedcontrolsaccuratebirthdaystrategyofficialgraphicscriminalpossiblyconsumerPersonalspeakingvalidateachieved.jpg\" />machines</h2>\n keywordsfriendlybrotherscombinedoriginalcomposedexpectedadequatepakistanfollow\" valuable</label>relativebringingincreasegovernorplugins/List of Header\">\" name=\" ("graduate</head>\ncommercemalaysiadirectormaintain;height:schedulechangingback to catholicpatternscolor: #greatestsuppliesreliable</ul>\n\t\t<select citizensclothingwatching<li id=\"specificcarryingsentence<center>contrastthinkingcatch(e)southernMichael merchantcarouselpadding:interior.split(\"lizationOctober ){returnimproved-->\n\ncoveragechairman.png\" />subjectsRichard whateverprobablyrecoverybaseballjudgmentconnect..css\" /> websitereporteddefault\"/></a>\r\nelectricscotlandcreationquantity. ISBN 0did not instance-search-\" lang=\"speakersComputercontainsarchivesministerreactiondiscountItalianocriteriastrongly: 'http:'script'coveringofferingappearedBritish identifyFacebooknumerousvehiclesconcernsAmericanhandlingdiv id=\"William provider_contentaccuracysection andersonflexibleCategorylawrence<script>layout=\"approved maximumheader\"></table>Serviceshamiltoncurrent canadianchannels/themes//articleoptionalportugalvalue=\"\"intervalwirelessentitledagenciesSearch\" measuredthousandspending…new Date\" size=\"pageNamemiddle\" \" /></a>hidden\">sequencepersonaloverflowopinionsillinoislinks\">\n\t<title>versionssaturdayterminalitempropengineersectionsdesignerproposal=\"false\"EspaC1olreleasessubmit\" er"additionsymptomsorientedresourceright\"><pleasurestationshistory.leaving border=contentscenter\">.\n\nSome directedsuitablebulgaria.show();designedGeneral conceptsExampleswilliamsOriginal\"><span>search\">operatorrequestsa "allowingDocumentrevision. \n\nThe yourselfContact michiganEnglish columbiapriorityprintingdrinkingfacilityreturnedContent officersRussian generate-8859-1\"indicatefamiliar qualitymargin:0 contentviewportcontacts-title\">portable.length eligibleinvolvesatlanticonload=\"default.suppliedpaymentsglossary\n\nAfter guidance</td><tdencodingmiddle\">came to displaysscottishjonathanmajoritywidgets.clinicalthailandteachers<head>\n\taffectedsupportspointer;toString</small>oklahomawill be investor0\" alt=\"holidaysResourcelicensed (which . After considervisitingexplorerprimary search\" android\"quickly meetingsestimate;return ;color:# height=approval, " checked.min.js\"magnetic></a></hforecast. While thursdaydvertiseéhasClassevaluateorderingexistingpatients Online coloradoOptions\"campbell<!-- end</span><<br />\r\n_popups|sciences," quality Windows assignedheight: <b classle" value=\" Companyexamples<iframe believespresentsmarshallpart of properly).\n\nThe taxonomymuch of </span>\n\" data-srtuguC*sscrollTo project<head>\r\nattorneyemphasissponsorsfancyboxworld's wildlifechecked=sessionsprogrammpx;font- Projectjournalsbelievedvacationthompsonlightingand the special border=0checking</tbody><button Completeclearfix\n<head>\narticle <sectionfindingsrole in popular Octoberwebsite exposureused to changesoperatedclickingenteringcommandsinformed numbers </div>creatingonSubmitmarylandcollegesanalyt
gitextract_1c2985fr/
├── .gitignore
├── .vscode/
│ ├── keybindings.json
│ └── settings.json
├── LICENSE
├── PotreeDesktop.bat
├── README.md
├── index.html
├── libs/
│ ├── MeshLine/
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── src/
│ │ └── THREE.MeshLine.js
│ ├── PotreeConverter/
│ │ └── LICENSE_laszip
│ ├── PotreeConverter2/
│ │ ├── README.md
│ │ └── licenses/
│ │ ├── license_brotli.txt
│ │ ├── license_json.txt
│ │ ├── license_laszip.txt
│ │ └── license_potree_converter.txt
│ ├── ZoomableSlider/
│ │ ├── ZoomableSlider.css
│ │ ├── ZoomableSlider.html
│ │ └── ZoomableSlider.js
│ ├── brotli/
│ │ ├── BUILD
│ │ ├── LICENSE
│ │ ├── WORKSPACE
│ │ ├── decode.js
│ │ ├── decode_test.js
│ │ └── polyfill.js
│ ├── d3/
│ │ ├── LICENSE
│ │ └── d3.js
│ ├── ept/
│ │ └── ParseBuffer.js
│ ├── geopackage/
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── geopackage.js
│ ├── i18next/
│ │ └── i18next.js
│ ├── jquery/
│ │ └── jquery-3.1.1.js
│ ├── jquery-ui/
│ │ ├── AUTHORS.txt
│ │ ├── LICENSE.txt
│ │ ├── index.html
│ │ ├── jquery-ui.css
│ │ ├── jquery-ui.structure.css
│ │ ├── jquery-ui.theme.css
│ │ └── package.json
│ ├── json5-2.1.3/
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ └── json5.mjs
│ ├── jstree/
│ │ ├── LICENSE-MIT
│ │ ├── README.md
│ │ ├── jstree.js
│ │ └── themes/
│ │ └── mixed/
│ │ └── style.css
│ ├── openlayers3/
│ │ ├── LICENSE
│ │ ├── ol-deps.js
│ │ ├── ol.css
│ │ └── ol.js
│ ├── other/
│ │ ├── BinaryHeap.js
│ │ └── stats.js
│ ├── plasio/
│ │ ├── LICENSE
│ │ ├── js/
│ │ │ └── laslaz.js
│ │ ├── vendor/
│ │ │ └── bluebird.js
│ │ └── workers/
│ │ ├── laz-loader-worker.js
│ │ └── laz-perf.js
│ ├── potree/
│ │ ├── LICENSE
│ │ ├── lazylibs/
│ │ │ ├── geopackage/
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ └── geopackage.js
│ │ │ └── sql.js/
│ │ │ ├── AUTHORS
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── sql-wasm.js
│ │ │ └── sql-wasm.wasm
│ │ ├── potree.css
│ │ ├── potree.js
│ │ ├── profile.html
│ │ ├── resources/
│ │ │ ├── LICENSE
│ │ │ ├── icons/
│ │ │ │ ├── image_preview.php
│ │ │ │ └── index.html
│ │ │ ├── lang/
│ │ │ │ ├── de/
│ │ │ │ │ └── translation.json
│ │ │ │ ├── dev/
│ │ │ │ │ ├── ns.common.json
│ │ │ │ │ ├── ns.special.json
│ │ │ │ │ └── translation.json
│ │ │ │ ├── en/
│ │ │ │ │ ├── ns.common.json
│ │ │ │ │ ├── ns.special.json
│ │ │ │ │ └── translation.json
│ │ │ │ ├── en-US/
│ │ │ │ │ ├── ns.common.json
│ │ │ │ │ ├── ns.special.json
│ │ │ │ │ └── translation.json
│ │ │ │ ├── es/
│ │ │ │ │ └── translation.json
│ │ │ │ ├── fr/
│ │ │ │ │ └── translation.json
│ │ │ │ ├── it/
│ │ │ │ │ └── translation.json
│ │ │ │ ├── jp/
│ │ │ │ │ └── translation.json
│ │ │ │ ├── se/
│ │ │ │ │ └── translation.json
│ │ │ │ └── zh/
│ │ │ │ └── translation.json
│ │ │ ├── models/
│ │ │ │ ├── stanford_bunny_reduced.mtl
│ │ │ │ ├── stanford_bunny_reduced.obj
│ │ │ │ └── stanford_bunny_reduced.ply
│ │ │ ├── shapefiles/
│ │ │ │ ├── south_sorvilier.dbf
│ │ │ │ └── south_sorvilier.shp
│ │ │ └── textures/
│ │ │ ├── LICENSE
│ │ │ ├── matcap/
│ │ │ │ └── blender_matcap_license.txt
│ │ │ ├── skybox/
│ │ │ │ └── skyboxsun25degtest.txt
│ │ │ ├── skybox2/
│ │ │ │ └── README.TXT
│ │ │ └── skyboxsun25degtest.txt
│ │ ├── sidebar.html
│ │ └── workers/
│ │ ├── 2.0/
│ │ │ ├── DecoderWorker.js
│ │ │ └── DecoderWorker_brotli.js
│ │ ├── BinaryDecoderWorker.js
│ │ ├── EptBinaryDecoderWorker.js
│ │ ├── EptLaszipDecoderWorker.js
│ │ ├── EptZstandardDecoderWorker.js
│ │ ├── LASDecoderWorker.js
│ │ └── LASLAZWorker.js
│ ├── proj4/
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ └── proj4.js
│ ├── shapefile/
│ │ └── shapefile.js
│ ├── spectrum/
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── spectrum.css
│ │ └── spectrum.js
│ ├── sql.js/
│ │ ├── AUTHORS
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── sql-wasm.js
│ │ └── sql-wasm.wasm
│ ├── three.js/
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── build/
│ │ │ ├── three.js
│ │ │ └── three.module.js
│ │ ├── extra/
│ │ │ ├── GLTFLoader.js
│ │ │ ├── VRButton.js
│ │ │ ├── XRControllerModelFactory.js
│ │ │ ├── lines/
│ │ │ │ ├── Line2.js
│ │ │ │ ├── LineGeometry.js
│ │ │ │ ├── LineMaterial.js
│ │ │ │ ├── LineSegments2.js
│ │ │ │ ├── LineSegmentsGeometry.js
│ │ │ │ ├── Wireframe.js
│ │ │ │ └── WireframeGeometry2.js
│ │ │ └── lines.js
│ │ ├── libs/
│ │ │ ├── dat.gui.module.js
│ │ │ ├── meshopt_decoder.module.js
│ │ │ ├── mmdparser.module.js
│ │ │ ├── motion-controllers.module.js
│ │ │ ├── stats.module.js
│ │ │ └── zstddec.module.js
│ │ ├── lines/
│ │ │ ├── Line2.js
│ │ │ ├── LineGeometry.js
│ │ │ ├── LineMaterial.js
│ │ │ ├── LineSegments2.js
│ │ │ ├── LineSegmentsGeometry.js
│ │ │ ├── Wireframe.js
│ │ │ └── WireframeGeometry2.js
│ │ ├── loaders/
│ │ │ ├── 3DMLoader.js
│ │ │ ├── 3MFLoader.js
│ │ │ ├── AMFLoader.js
│ │ │ ├── AssimpLoader.js
│ │ │ ├── BVHLoader.js
│ │ │ ├── BasisTextureLoader.js
│ │ │ ├── ColladaLoader.js
│ │ │ ├── DDSLoader.js
│ │ │ ├── DRACOLoader.js
│ │ │ ├── EXRLoader.js
│ │ │ ├── FBXLoader.js
│ │ │ ├── GCodeLoader.js
│ │ │ ├── GLTFLoader.js
│ │ │ ├── HDRCubeTextureLoader.js
│ │ │ ├── KMZLoader.js
│ │ │ ├── KTX2Loader.js
│ │ │ ├── KTXLoader.js
│ │ │ ├── LDrawLoader.js
│ │ │ ├── LUT3dlLoader.js
│ │ │ ├── LUTCubeLoader.js
│ │ │ ├── LWOLoader.js
│ │ │ ├── LottieLoader.js
│ │ │ ├── MD2Loader.js
│ │ │ ├── MDDLoader.js
│ │ │ ├── MMDLoader.js
│ │ │ ├── MTLLoader.js
│ │ │ ├── NRRDLoader.js
│ │ │ ├── NodeMaterialLoader.js
│ │ │ ├── OBJLoader.js
│ │ │ ├── OBJLoader2.js
│ │ │ ├── OBJLoader2Parallel.js
│ │ │ ├── PCDLoader.js
│ │ │ ├── PDBLoader.js
│ │ │ ├── PLYLoader.js
│ │ │ ├── PRWMLoader.js
│ │ │ ├── PVRLoader.js
│ │ │ ├── RGBELoader.js
│ │ │ ├── STLLoader.js
│ │ │ ├── SVGLoader.js
│ │ │ ├── TDSLoader.js
│ │ │ ├── TGALoader.js
│ │ │ ├── TTFLoader.js
│ │ │ ├── TiltLoader.js
│ │ │ ├── VOXLoader.js
│ │ │ ├── VRMLLoader.js
│ │ │ ├── VRMLoader.js
│ │ │ ├── VTKLoader.js
│ │ │ ├── XLoader.js
│ │ │ ├── XYZLoader.js
│ │ │ ├── lwo/
│ │ │ │ ├── IFFParser.js
│ │ │ │ ├── LWO2Parser.js
│ │ │ │ └── LWO3Parser.js
│ │ │ └── obj2/
│ │ │ ├── OBJLoader2Parser.js
│ │ │ ├── bridge/
│ │ │ │ └── MtlObjBridge.js
│ │ │ ├── shared/
│ │ │ │ ├── MaterialHandler.js
│ │ │ │ └── MeshReceiver.js
│ │ │ ├── utils/
│ │ │ │ └── CodeSerializer.js
│ │ │ └── worker/
│ │ │ ├── main/
│ │ │ │ └── WorkerExecutionSupport.js
│ │ │ └── parallel/
│ │ │ ├── OBJLoader2JsmWorker.js
│ │ │ └── WorkerRunner.js
│ │ └── webxr/
│ │ ├── ARButton.js
│ │ ├── VRButton.js
│ │ ├── XRControllerModelFactory.js
│ │ ├── XRHandModelFactory.js
│ │ ├── XRHandOculusMeshModel.js
│ │ └── XRHandPrimitiveModel.js
│ ├── tween/
│ │ ├── LICENSE.txt
│ │ ├── README.txt
│ │ └── Tween.js
│ └── zstd-codec/
│ └── bundle.js
├── main.js
├── package.json
└── src/
├── desktop.css
└── desktop.js
Showing preview only (1,957K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (20895 symbols across 98 files)
FILE: libs/MeshLine/src/THREE.MeshLine.js
function MeshLine (line 13) | function MeshLine() {
function memcpy (line 185) | function memcpy (src, srcOffset, dst, dstOffset, length) {
function MeshLineMaterial (line 246) | function MeshLineMaterial( parameters ) {
FILE: libs/ZoomableSlider/ZoomableSlider.js
class ZoomableSlider (line 2) | class ZoomableSlider{
method constructor (line 3) | constructor(){
method setRange (line 103) | setRange(range){
method setVisibleRange (line 107) | setVisibleRange(range){
method update (line 111) | update(){
FILE: libs/brotli/decode.js
function BrotliDecodeClosure (line 8) | function BrotliDecodeClosure() {
FILE: libs/brotli/decode_test.js
function bytesToString (line 8) | function bytesToString(bytes) {
function testMetadata (line 12) | function testMetadata() {
function testEmpty (line 16) | function testEmpty() {
function testBaseDictWord (line 21) | function testBaseDictWord() {
function testBlockCountMessage (line 31) | function testBlockCountMessage() {
function testCompressedUncompressedShortCompressedSmallWindow (line 42) | function testCompressedUncompressedShortCompressedSmallWindow() {
function testIntactDistanceRingBuffer0 (line 70) | function testIntactDistanceRingBuffer0() {
FILE: libs/d3/d3.js
function d3_documentElement (line 9) | function d3_documentElement(node) {
function d3_window (line 12) | function d3_window(node) {
function d3_ascending (line 46) | function d3_ascending(a, b) {
function d3_number (line 109) | function d3_number(x) {
function d3_numeric (line 112) | function d3_numeric(x) {
function d3_bisector (line 171) | function d3_bisector(compare) {
function d3_zipLength (line 232) | function d3_zipLength(d) {
function d3_range_integerScale (line 284) | function d3_range_integerScale(x) {
function d3_class (line 289) | function d3_class(ctor, properties) {
function d3_Map (line 311) | function d3_Map() {
function d3_map_escape (line 344) | function d3_map_escape(key) {
function d3_map_unescape (line 347) | function d3_map_unescape(key) {
function d3_map_has (line 350) | function d3_map_has(key) {
function d3_map_remove (line 353) | function d3_map_remove(key) {
function d3_map_keys (line 356) | function d3_map_keys() {
function d3_map_size (line 361) | function d3_map_size() {
function d3_map_empty (line 366) | function d3_map_empty() {
function map (line 372) | function map(mapType, array, depth) {
function entries (line 396) | function entries(map, depth) {
function d3_Set (line 438) | function d3_Set() {
function d3_identity (line 456) | function d3_identity(d) {
function d3_rebind (line 464) | function d3_rebind(target, source, method) {
function d3_vendorSymbol (line 470) | function d3_vendorSymbol(object, name) {
function d3_noop (line 479) | function d3_noop() {}
function d3_dispatch (line 485) | function d3_dispatch() {}
function d3_dispatch_event (line 500) | function d3_dispatch_event(dispatch) {
function d3_eventPreventDefault (line 523) | function d3_eventPreventDefault() {
function d3_eventSource (line 526) | function d3_eventSource() {
function d3_eventDispatch (line 531) | function d3_eventDispatch(target) {
function d3_selection (line 557) | function d3_selection(groups) {
function d3_selection_selector (line 600) | function d3_selection_selector(selector) {
function d3_selection_selectorAll (line 618) | function d3_selection_selectorAll(selector) {
function d3_selection_attr (line 656) | function d3_selection_attr(name, value) {
function d3_collapse (line 680) | function d3_collapse(s) {
function d3_selection_classedRe (line 700) | function d3_selection_classedRe(name) {
function d3_selection_classes (line 703) | function d3_selection_classes(name) {
function d3_selection_classed (line 706) | function d3_selection_classed(name, value) {
function d3_selection_classedName (line 719) | function d3_selection_classedName(name) {
function d3_selection_style (line 748) | function d3_selection_style(name, value, priority) {
function d3_selection_property (line 769) | function d3_selection_property(name, value) {
function d3_selection_creator (line 808) | function d3_selection_creator(name) {
function d3_selectionRemove (line 828) | function d3_selectionRemove() {
function bind (line 843) | function bind(group, groupData) {
function d3_selection_dataNode (line 911) | function d3_selection_dataNode(data) {
function d3_selection_filter (line 933) | function d3_selection_filter(selector) {
function d3_selection_sortComparator (line 954) | function d3_selection_sortComparator(comparator) {
function d3_selection_each (line 965) | function d3_selection_each(groups, callback) {
function d3_selection_enter (line 997) | function d3_selection_enter(selection) {
function d3_selection_enterInsertBefore (line 1030) | function d3_selection_enterInsertBefore(enter) {
function d3_selection_on (line 1075) | function d3_selection_on(type, listener, capture) {
function d3_selection_onListener (line 1114) | function d3_selection_onListener(listener, argumentz) {
function d3_selection_onFilter (line 1126) | function d3_selection_onFilter(listener, argumentz) {
function d3_event_dragSuppress (line 1136) | function d3_event_dragSuppress(node) {
function d3_mousePoint (line 1164) | function d3_mousePoint(container, e) {
function drag (line 1203) | function drag() {
function dragstart (line 1206) | function dragstart(id, position, subject, move, end) {
function d3_behavior_dragTouchId (line 1250) | function d3_behavior_dragTouchId() {
function d3_sgn (line 1262) | function d3_sgn(x) {
function d3_cross2d (line 1265) | function d3_cross2d(a, b, c) {
function d3_acos (line 1268) | function d3_acos(x) {
function d3_asin (line 1271) | function d3_asin(x) {
function d3_sinh (line 1274) | function d3_sinh(x) {
function d3_cosh (line 1277) | function d3_cosh(x) {
function d3_tanh (line 1280) | function d3_tanh(x) {
function d3_haversin (line 1283) | function d3_haversin(x) {
function interpolate (line 1290) | function interpolate(t) {
function zoom (line 1316) | function zoom(g) {
function location (line 1416) | function location(p) {
function point (line 1419) | function point(l) {
function scaleTo (line 1422) | function scaleTo(s) {
function translateTo (line 1425) | function translateTo(p, l) {
function zoomTo (line 1430) | function zoomTo(that, p, l, k) {
function rescale (line 1442) | function rescale() {
function zoomstarted (line 1450) | function zoomstarted(dispatch) {
function zoomed (line 1455) | function zoomed(dispatch) {
function zoomended (line 1463) | function zoomended(dispatch) {
function mousedowned (line 1469) | function mousedowned() {
function touchstarted (line 1484) | function touchstarted() {
function mousewheeled (line 1554) | function mousewheeled() {
function dblclicked (line 1567) | function dblclicked() {
function d3_color (line 1575) | function d3_color() {}
function d3_hsl (line 1580) | function d3_hsl(h, s, l) {
function d3_hsl_rgb (line 1595) | function d3_hsl_rgb(h, s, l) {
function d3_hcl (line 1615) | function d3_hcl(h, c, l) {
function d3_hcl_lab (line 1628) | function d3_hcl_lab(h, c, l) {
function d3_lab (line 1634) | function d3_lab(l, a, b) {
function d3_lab_rgb (line 1649) | function d3_lab_rgb(l, a, b) {
function d3_lab_hcl (line 1656) | function d3_lab_hcl(l, a, b) {
function d3_lab_xyz (line 1659) | function d3_lab_xyz(x) {
function d3_xyz_lab (line 1662) | function d3_xyz_lab(x) {
function d3_xyz_rgb (line 1665) | function d3_xyz_rgb(r) {
function d3_rgb (line 1669) | function d3_rgb(r, g, b) {
function d3_rgbNumber (line 1672) | function d3_rgbNumber(value) {
function d3_rgbString (line 1675) | function d3_rgbString(value) {
function d3_rgb_hex (line 1698) | function d3_rgb_hex(v) {
function d3_rgb_parse (line 1701) | function d3_rgb_parse(format, rgb, hsl) {
function d3_rgb_hsl (line 1737) | function d3_rgb_hsl(r, g, b) {
function d3_rgb_lab (line 1749) | function d3_rgb_lab(r, g, b) {
function d3_rgb_xyz (line 1756) | function d3_rgb_xyz(r) {
function d3_rgb_parseNumber (line 1759) | function d3_rgb_parseNumber(c) {
function d3_functor (line 1916) | function d3_functor(v) {
function d3_xhrType (line 1923) | function d3_xhrType(response) {
function d3_xhr (line 1930) | function d3_xhr(url, mimeType, response, callback) {
function d3_xhr_fixCallback (line 2005) | function d3_xhr_fixCallback(callback) {
function d3_xhrHasResponse (line 2010) | function d3_xhrHasResponse(request) {
function dsv (line 2016) | function dsv(url, row, callback) {
function response (line 2024) | function response(request) {
function typedResponse (line 2027) | function typedResponse(f) {
function token (line 2046) | function token() {
function formatRow (line 2108) | function formatRow(row) {
function formatValue (line 2111) | function formatValue(text) {
function d3_timer_step (line 2139) | function d3_timer_step() {
function d3_timer_mark (line 2156) | function d3_timer_mark() {
function d3_timer_sweep (line 2165) | function d3_timer_sweep() {
function d3_format_precision (line 2178) | function d3_format_precision(x, p) {
function d3_formatPrefix (line 2195) | function d3_formatPrefix(d, i) {
function d3_locale_numberFormat (line 2206) | function d3_locale_numberFormat(locale) {
function d3_format_typeDefault (line 2327) | function d3_format_typeDefault(x) {
function d3_date_utc (line 2331) | function d3_date_utc() {
function d3_time_interval (line 2397) | function d3_time_interval(local, step, number) {
function d3_time_interval_utc (line 2445) | function d3_time_interval_utc(method) {
function d3_locale_timeFormat (line 2505) | function d3_locale_timeFormat(locale) {
function d3_time_formatPad (line 2725) | function d3_time_formatPad(value, fill, width) {
function d3_time_formatRe (line 2729) | function d3_time_formatRe(names) {
function d3_time_formatLookup (line 2732) | function d3_time_formatLookup(names) {
function d3_time_parseWeekdayNumber (line 2737) | function d3_time_parseWeekdayNumber(date, string, i) {
function d3_time_parseWeekNumberSunday (line 2742) | function d3_time_parseWeekNumberSunday(date, string, i) {
function d3_time_parseWeekNumberMonday (line 2747) | function d3_time_parseWeekNumberMonday(date, string, i) {
function d3_time_parseFullYear (line 2752) | function d3_time_parseFullYear(date, string, i) {
function d3_time_parseYear (line 2757) | function d3_time_parseYear(date, string, i) {
function d3_time_parseZone (line 2762) | function d3_time_parseZone(date, string, i) {
function d3_time_expandYear (line 2766) | function d3_time_expandYear(d) {
function d3_time_parseMonthNumber (line 2769) | function d3_time_parseMonthNumber(date, string, i) {
function d3_time_parseDay (line 2774) | function d3_time_parseDay(date, string, i) {
function d3_time_parseDayOfYear (line 2779) | function d3_time_parseDayOfYear(date, string, i) {
function d3_time_parseHour24 (line 2784) | function d3_time_parseHour24(date, string, i) {
function d3_time_parseMinutes (line 2789) | function d3_time_parseMinutes(date, string, i) {
function d3_time_parseSeconds (line 2794) | function d3_time_parseSeconds(date, string, i) {
function d3_time_parseMilliseconds (line 2799) | function d3_time_parseMilliseconds(date, string, i) {
function d3_time_zone (line 2804) | function d3_time_zone(d) {
function d3_time_parseLiteralPercent (line 2808) | function d3_time_parseLiteralPercent(date, string, i) {
function d3_time_formatMulti (line 2813) | function d3_time_formatMulti(formats) {
function d3_adder (line 2844) | function d3_adder() {}
function d3_adderSum (line 2861) | function d3_adderSum(a, b, o) {
function d3_geo_streamGeometry (line 2872) | function d3_geo_streamGeometry(geometry, listener) {
function d3_geo_streamLine (line 2917) | function d3_geo_streamLine(coordinates, listener, closed) {
function d3_geo_streamPolygon (line 2923) | function d3_geo_streamPolygon(coordinates, listener) {
function d3_geo_areaRingStart (line 2952) | function d3_geo_areaRingStart() {
function d3_geo_cartesian (line 2970) | function d3_geo_cartesian(spherical) {
function d3_geo_cartesianDot (line 2974) | function d3_geo_cartesianDot(a, b) {
function d3_geo_cartesianCross (line 2977) | function d3_geo_cartesianCross(a, b) {
function d3_geo_cartesianAdd (line 2980) | function d3_geo_cartesianAdd(a, b) {
function d3_geo_cartesianScale (line 2985) | function d3_geo_cartesianScale(vector, k) {
function d3_geo_cartesianNormalize (line 2988) | function d3_geo_cartesianNormalize(d) {
function d3_geo_spherical (line 2994) | function d3_geo_spherical(cartesian) {
function d3_geo_sphericalEqual (line 2997) | function d3_geo_sphericalEqual(a, b) {
function point (line 3022) | function point(λ, φ) {
function linePoint (line 3027) | function linePoint(λ, φ) {
function lineStart (line 3067) | function lineStart() {
function lineEnd (line 3070) | function lineEnd() {
function ringPoint (line 3075) | function ringPoint(λ, φ) {
function ringStart (line 3083) | function ringStart() {
function ringEnd (line 3086) | function ringEnd() {
function angle (line 3093) | function angle(λ0, λ1) {
function compareRanges (line 3096) | function compareRanges(a, b) {
function withinRange (line 3099) | function withinRange(x, range) {
function d3_geo_centroidPoint (line 3153) | function d3_geo_centroidPoint(λ, φ) {
function d3_geo_centroidPointXYZ (line 3158) | function d3_geo_centroidPointXYZ(x, y, z) {
function d3_geo_centroidLineStart (line 3164) | function d3_geo_centroidLineStart() {
function d3_geo_centroidLineEnd (line 3185) | function d3_geo_centroidLineEnd() {
function d3_geo_centroidRingStart (line 3188) | function d3_geo_centroidRingStart() {
function d3_geo_compose (line 3218) | function d3_geo_compose(a, b) {
function d3_true (line 3227) | function d3_true() {
function d3_geo_clipPolygon (line 3230) | function d3_geo_clipPolygon(segments, compare, clipStartInside, interpol...
function d3_geo_clipPolygonLinkCircular (line 3289) | function d3_geo_clipPolygonLinkCircular(array) {
function d3_geo_clipPolygonIntersection (line 3300) | function d3_geo_clipPolygonIntersection(point, points, other, entry) {
function d3_geo_clip (line 3308) | function d3_geo_clip(pointVisible, clipLine, interpolate, clipStart) {
function d3_geo_clipSegmentLength1 (line 3400) | function d3_geo_clipSegmentLength1(segment) {
function d3_geo_clipBufferListener (line 3403) | function d3_geo_clipBufferListener() {
function d3_geo_clipSort (line 3424) | function d3_geo_clipSort(a, b) {
function d3_geo_clipAntimeridianLine (line 3428) | function d3_geo_clipAntimeridianLine(listener) {
function d3_geo_clipAntimeridianIntersect (line 3467) | function d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1) {
function d3_geo_clipAntimeridianInterpolate (line 3471) | function d3_geo_clipAntimeridianInterpolate(from, to, direction, listene...
function d3_geo_pointInPolygon (line 3494) | function d3_geo_pointInPolygon(point, polygon) {
function d3_geo_clipCircle (line 3523) | function d3_geo_clipCircle(radius) {
function d3_geom_clipLine (line 3619) | function d3_geom_clipLine(x0, y0, x1, y1) {
function d3_geo_clipExtent (line 3691) | function d3_geo_clipExtent(x0, y0, x1, y1) {
function d3_geo_conic (line 3825) | function d3_geo_conic(projectAt) {
function d3_geo_conicEqualArea (line 3833) | function d3_geo_conicEqualArea(φ0, φ1) {
function albersUsa (line 3860) | function albersUsa(coordinates) {
function d3_geo_pathAreaRingStart (line 3942) | function d3_geo_pathAreaRingStart() {
function d3_geo_pathBoundsPoint (line 3964) | function d3_geo_pathBoundsPoint(x, y) {
function d3_geo_pathBuffer (line 3970) | function d3_geo_pathBuffer() {
function d3_geo_pathBufferCircle (line 4015) | function d3_geo_pathBufferCircle(radius) {
function d3_geo_pathCentroidPoint (line 4031) | function d3_geo_pathCentroidPoint(x, y) {
function d3_geo_pathCentroidLineStart (line 4036) | function d3_geo_pathCentroidLineStart() {
function d3_geo_pathCentroidLineEnd (line 4050) | function d3_geo_pathCentroidLineEnd() {
function d3_geo_pathCentroidRingStart (line 4053) | function d3_geo_pathCentroidRingStart() {
function d3_geo_pathContext (line 4074) | function d3_geo_pathContext(context) {
function d3_geo_resample (line 4114) | function d3_geo_resample(project) {
function path (line 4194) | function path(object) {
function reset (line 4233) | function reset() {
function d3_geo_pathProjectStream (line 4239) | function d3_geo_pathProjectStream(project) {
function d3_geo_transform (line 4256) | function d3_geo_transform(stream) {
function d3_geo_transformPoint (line 4279) | function d3_geo_transformPoint(stream, point) {
function d3_geo_projection (line 4301) | function d3_geo_projection(project) {
function d3_geo_projectionMutator (line 4306) | function d3_geo_projectionMutator(projectAt) {
function d3_geo_projectionRadians (line 4378) | function d3_geo_projectionRadians(stream) {
function d3_geo_equirectangular (line 4383) | function d3_geo_equirectangular(λ, φ) {
function forward (line 4391) | function forward(coordinates) {
function d3_geo_identityRotation (line 4401) | function d3_geo_identityRotation(λ, φ) {
function d3_geo_rotation (line 4405) | function d3_geo_rotation(δλ, δφ, δγ) {
function d3_geo_forwardRotationλ (line 4408) | function d3_geo_forwardRotationλ(δλ) {
function d3_geo_rotationλ (line 4413) | function d3_geo_rotationλ(δλ) {
function d3_geo_rotationφγ (line 4418) | function d3_geo_rotationφγ(δφ, δγ) {
function circle (line 4432) | function circle() {
function d3_geo_circleInterpolate (line 4462) | function d3_geo_circleInterpolate(radius, precision) {
function d3_geo_circleAngle (line 4479) | function d3_geo_circleAngle(cr, point) {
function graticule (line 4492) | function graticule() {
function lines (line 4498) | function lines() {
function d3_geo_graticuleX (line 4564) | function d3_geo_graticuleX(y0, y1, dy) {
function d3_geo_graticuleY (line 4572) | function d3_geo_graticuleY(x0, x1, dx) {
function d3_source (line 4580) | function d3_source(d) {
function d3_target (line 4583) | function d3_target(d) {
function greatArc (line 4588) | function greatArc() {
function d3_geo_interpolate (line 4615) | function d3_geo_interpolate(x0, y0, x1, y1) {
function d3_geo_lengthLineStart (line 4640) | function d3_geo_lengthLineStart() {
function d3_geo_azimuthal (line 4655) | function d3_geo_azimuthal(scale, angle) {
function d3_geo_conicConformal (line 4681) | function d3_geo_conicConformal(φ0, φ1) {
function d3_geo_conicEquidistant (line 4704) | function d3_geo_conicEquidistant(φ0, φ1) {
function d3_geo_mercator (line 4726) | function d3_geo_mercator(λ, φ) {
function d3_geo_mercatorProjection (line 4732) | function d3_geo_mercatorProjection(project) {
function d3_geo_transverseMercator (line 4773) | function d3_geo_transverseMercator(λ, φ) {
function d3_geom_pointX (line 4791) | function d3_geom_pointX(d) {
function d3_geom_pointY (line 4794) | function d3_geom_pointY(d) {
function hull (line 4800) | function hull(data) {
function d3_geom_hullUpper (line 4822) | function d3_geom_hullUpper(points) {
function d3_geom_hullOrder (line 4830) | function d3_geom_hullOrder(a, b) {
function d3_geom_polygonInside (line 4884) | function d3_geom_polygonInside(p, a, b) {
function d3_geom_polygonIntersect (line 4887) | function d3_geom_polygonIntersect(c, d, a, b) {
function d3_geom_polygonClosed (line 4891) | function d3_geom_polygonClosed(coordinates) {
function d3_geom_voronoiBeach (line 4896) | function d3_geom_voronoiBeach() {
function d3_geom_voronoiCreateBeach (line 4900) | function d3_geom_voronoiCreateBeach(site) {
function d3_geom_voronoiDetachBeach (line 4905) | function d3_geom_voronoiDetachBeach(beach) {
function d3_geom_voronoiRemoveBeach (line 4911) | function d3_geom_voronoiRemoveBeach(beach) {
function d3_geom_voronoiAddBeach (line 4947) | function d3_geom_voronoiAddBeach(site) {
function d3_geom_voronoiLeftBreakPoint (line 5001) | function d3_geom_voronoiLeftBreakPoint(arc, directrix) {
function d3_geom_voronoiRightBreakPoint (line 5013) | function d3_geom_voronoiRightBreakPoint(arc, directrix) {
function d3_geom_voronoiCell (line 5019) | function d3_geom_voronoiCell(site) {
function d3_geom_voronoiCloseCells (line 5032) | function d3_geom_voronoiCloseCells(extent) {
function d3_geom_voronoiHalfEdgeOrder (line 5062) | function d3_geom_voronoiHalfEdgeOrder(a, b) {
function d3_geom_voronoiCircle (line 5065) | function d3_geom_voronoiCircle() {
function d3_geom_voronoiAttachCircle (line 5069) | function d3_geom_voronoiAttachCircle(arc) {
function d3_geom_voronoiDetachCircle (line 5102) | function d3_geom_voronoiDetachCircle(arc) {
function d3_geom_voronoiClipEdges (line 5112) | function d3_geom_voronoiClipEdges(extent) {
function d3_geom_voronoiConnectEdge (line 5122) | function d3_geom_voronoiConnectEdge(edge, extent) {
function d3_geom_voronoiEdge (line 5196) | function d3_geom_voronoiEdge(lSite, rSite) {
function d3_geom_voronoiCreateEdge (line 5201) | function d3_geom_voronoiCreateEdge(lSite, rSite, va, vb) {
function d3_geom_voronoiCreateBorderEdge (line 5210) | function d3_geom_voronoiCreateBorderEdge(lSite, va, vb) {
function d3_geom_voronoiSetEdgeEnd (line 5217) | function d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, vertex) {
function d3_geom_voronoiHalfEdge (line 5228) | function d3_geom_voronoiHalfEdge(edge, lSite, rSite) {
function d3_geom_voronoiRedBlackTree (line 5242) | function d3_geom_voronoiRedBlackTree() {
function d3_geom_voronoiRedBlackNode (line 5245) | function d3_geom_voronoiRedBlackNode(node) {
function d3_geom_voronoiRedBlackRotateLeft (line 5408) | function d3_geom_voronoiRedBlackRotateLeft(tree, node) {
function d3_geom_voronoiRedBlackRotateRight (line 5421) | function d3_geom_voronoiRedBlackRotateRight(tree, node) {
function d3_geom_voronoiRedBlackFirst (line 5434) | function d3_geom_voronoiRedBlackFirst(node) {
function d3_geom_voronoi (line 5438) | function d3_geom_voronoi(sites, bbox) {
function d3_geom_voronoiVertexOrder (line 5467) | function d3_geom_voronoiVertexOrder(a, b) {
function voronoi (line 5473) | function voronoi(data) {
function sites (line 5484) | function sites(data) {
function d3_geom_voronoiTriangleArea (line 5537) | function d3_geom_voronoiTriangleArea(a, b, c) {
function quadtree (line 5555) | function quadtree(data) {
function d3_geom_quadtreeCompatX (line 5650) | function d3_geom_quadtreeCompatX(d) {
function d3_geom_quadtreeCompatY (line 5653) | function d3_geom_quadtreeCompatY(d) {
function d3_geom_quadtreeNode (line 5656) | function d3_geom_quadtreeNode() {
function d3_geom_quadtreeVisit (line 5665) | function d3_geom_quadtreeVisit(f, node, x1, y1, x2, y2) {
function d3_geom_quadtreeFind (line 5674) | function d3_geom_quadtreeFind(root, x, y, x0, y0, x3, y3) {
function d3_interpolateRgb (line 5711) | function d3_interpolateRgb(a, b) {
function d3_interpolateObject (line 5720) | function d3_interpolateObject(a, b) {
function d3_interpolateNumber (line 5740) | function d3_interpolateNumber(a, b) {
function d3_interpolateString (line 5747) | function d3_interpolateString(a, b) {
function d3_interpolate (line 5781) | function d3_interpolate(a, b) {
function d3_interpolateArray (line 5791) | function d3_interpolateArray(a, b) {
function d3_ease_clamp (line 5842) | function d3_ease_clamp(f) {
function d3_ease_reverse (line 5847) | function d3_ease_reverse(f) {
function d3_ease_reflect (line 5852) | function d3_ease_reflect(f) {
function d3_ease_quad (line 5857) | function d3_ease_quad(t) {
function d3_ease_cubic (line 5860) | function d3_ease_cubic(t) {
function d3_ease_cubicInOut (line 5863) | function d3_ease_cubicInOut(t) {
function d3_ease_poly (line 5869) | function d3_ease_poly(e) {
function d3_ease_sin (line 5874) | function d3_ease_sin(t) {
function d3_ease_exp (line 5877) | function d3_ease_exp(t) {
function d3_ease_circle (line 5880) | function d3_ease_circle(t) {
function d3_ease_elastic (line 5883) | function d3_ease_elastic(a, p) {
function d3_ease_back (line 5891) | function d3_ease_back(s) {
function d3_ease_bounce (line 5897) | function d3_ease_bounce(t) {
function d3_interpolateHcl (line 5901) | function d3_interpolateHcl(a, b) {
function d3_interpolateHsl (line 5912) | function d3_interpolateHsl(a, b) {
function d3_interpolateLab (line 5923) | function d3_interpolateLab(a, b) {
function d3_interpolateRound (line 5932) | function d3_interpolateRound(a, b) {
function d3_transform (line 5948) | function d3_transform(m) {
function d3_transformDot (line 5964) | function d3_transformDot(a, b) {
function d3_transformNormalize (line 5967) | function d3_transformNormalize(a) {
function d3_transformCombine (line 5975) | function d3_transformCombine(a, b, k) {
function d3_interpolateTransform (line 5989) | function d3_interpolateTransform(a, b) {
function d3_uninterpolateNumber (line 6041) | function d3_uninterpolateNumber(a, b) {
function d3_uninterpolateClamp (line 6047) | function d3_uninterpolateClamp(a, b) {
function d3_layout_bundlePath (line 6061) | function d3_layout_bundlePath(link) {
function d3_layout_bundleAncestors (line 6074) | function d3_layout_bundleAncestors(node) {
function d3_layout_bundleLeastCommonAncestor (line 6084) | function d3_layout_bundleLeastCommonAncestor(a, b) {
function relayout (line 6096) | function relayout() {
function resort (line 6162) | function resort() {
function repulse (line 6209) | function repulse(node) {
function position (line 6381) | function position(dimension, size) {
function dragmove (line 6410) | function dragmove(d) {
function d3_layout_forceDragstart (line 6416) | function d3_layout_forceDragstart(d) {
function d3_layout_forceDragend (line 6419) | function d3_layout_forceDragend(d) {
function d3_layout_forceMouseover (line 6422) | function d3_layout_forceMouseover(d) {
function d3_layout_forceMouseout (line 6426) | function d3_layout_forceMouseout(d) {
function d3_layout_forceAccumulate (line 6429) | function d3_layout_forceAccumulate(quad, alpha, charges) {
function hierarchy (line 6459) | function hierarchy(root) {
function d3_layout_hierarchyRebind (line 6515) | function d3_layout_hierarchyRebind(object, hierarchy) {
function d3_layout_hierarchyVisitBefore (line 6521) | function d3_layout_hierarchyVisitBefore(node, callback) {
function d3_layout_hierarchyVisitAfter (line 6531) | function d3_layout_hierarchyVisitAfter(node, callback) {
function d3_layout_hierarchyChildren (line 6544) | function d3_layout_hierarchyChildren(d) {
function d3_layout_hierarchyValue (line 6547) | function d3_layout_hierarchyValue(d) {
function d3_layout_hierarchySort (line 6550) | function d3_layout_hierarchySort(a, b) {
function d3_layout_hierarchyLinks (line 6553) | function d3_layout_hierarchyLinks(nodes) {
function position (line 6565) | function position(node, x, dx, dy) {
function depth (line 6580) | function depth(node) {
function partition (line 6588) | function partition(d, i) {
function pie (line 6602) | function pie(data) {
function stack (line 6652) | function stack(data, index) {
function d3_layout_stackX (line 6707) | function d3_layout_stackX(d) {
function d3_layout_stackY (line 6710) | function d3_layout_stackY(d) {
function d3_layout_stackOut (line 6713) | function d3_layout_stackOut(d, y0, y) {
function d3_layout_stackOrderDefault (line 6780) | function d3_layout_stackOrderDefault(data) {
function d3_layout_stackOffsetZero (line 6783) | function d3_layout_stackOffsetZero(data) {
function d3_layout_stackMaxIndex (line 6788) | function d3_layout_stackMaxIndex(array) {
function d3_layout_stackReduceSum (line 6798) | function d3_layout_stackReduceSum(d) {
function d3_layout_stackSum (line 6801) | function d3_layout_stackSum(p, d) {
function histogram (line 6806) | function histogram(data, i) {
function d3_layout_histogramBinSturges (line 6850) | function d3_layout_histogramBinSturges(range, values) {
function d3_layout_histogramBinFixed (line 6853) | function d3_layout_histogramBinFixed(range, n) {
function d3_layout_histogramRange (line 6858) | function d3_layout_histogramRange(values) {
function pack (line 6863) | function pack(d, i) {
function d3_layout_packSort (line 6902) | function d3_layout_packSort(a, b) {
function d3_layout_packInsert (line 6905) | function d3_layout_packInsert(a, b) {
function d3_layout_packSplice (line 6912) | function d3_layout_packSplice(a, b) {
function d3_layout_packIntersects (line 6916) | function d3_layout_packIntersects(a, b) {
function d3_layout_packSiblings (line 6920) | function d3_layout_packSiblings(node) {
function d3_layout_packLink (line 6984) | function d3_layout_packLink(node) {
function d3_layout_packUnlink (line 6987) | function d3_layout_packUnlink(node) {
function d3_layout_packTransform (line 6991) | function d3_layout_packTransform(node, x, y, k) {
function d3_layout_packPlace (line 7001) | function d3_layout_packPlace(a, b, c) {
function tree (line 7017) | function tree(d, i) {
function wrapTree (line 7036) | function wrapTree(root0) {
function firstWalk (line 7060) | function firstWalk(v) {
function secondWalk (line 7076) | function secondWalk(v) {
function apportion (line 7080) | function apportion(v, w, ancestor) {
function sizeNode (line 7110) | function sizeNode(node) {
function d3_layout_treeSeparation (line 7131) | function d3_layout_treeSeparation(a, b) {
function d3_layout_treeLeft (line 7134) | function d3_layout_treeLeft(v) {
function d3_layout_treeRight (line 7138) | function d3_layout_treeRight(v) {
function d3_layout_treeMove (line 7142) | function d3_layout_treeMove(wm, wp, shift) {
function d3_layout_treeShift (line 7150) | function d3_layout_treeShift(v) {
function d3_layout_treeAncestor (line 7159) | function d3_layout_treeAncestor(vim, v, ancestor) {
function cluster (line 7164) | function cluster(d, i) {
function d3_layout_clusterY (line 7204) | function d3_layout_clusterY(children) {
function d3_layout_clusterX (line 7209) | function d3_layout_clusterX(children) {
function d3_layout_clusterLeft (line 7214) | function d3_layout_clusterLeft(node) {
function d3_layout_clusterRight (line 7218) | function d3_layout_clusterRight(node) {
function scale (line 7224) | function scale(children, k) {
function squarify (line 7231) | function squarify(node) {
function stickify (line 7258) | function stickify(node) {
function worst (line 7275) | function worst(row, u) {
function position (line 7286) | function position(row, u, rect, flush) {
function treemap (line 7316) | function treemap(d) {
function padFunction (line 7335) | function padFunction(node) {
function padConstant (line 7339) | function padConstant(node) {
function d3_layout_treemapPadNull (line 7370) | function d3_layout_treemapPadNull(node) {
function d3_layout_treemapPad (line 7378) | function d3_layout_treemapPad(node, padding) {
function d3_scaleExtent (line 7430) | function d3_scaleExtent(domain) {
function d3_scaleRange (line 7434) | function d3_scaleRange(scale) {
function d3_scale_bilinear (line 7437) | function d3_scale_bilinear(domain, range, uninterpolate, interpolate) {
function d3_scale_nice (line 7443) | function d3_scale_nice(domain, nice) {
function d3_scale_niceStep (line 7453) | function d3_scale_niceStep(step) {
function d3_scale_polylinear (line 7467) | function d3_scale_polylinear(domain, range, uninterpolate, interpolate) {
function d3_scale_linear (line 7485) | function d3_scale_linear(domain, range, interpolate, clamp) {
function d3_scale_linearRebind (line 7537) | function d3_scale_linearRebind(scale, linear) {
function d3_scale_linearNice (line 7540) | function d3_scale_linearNice(domain, m) {
function d3_scale_linearTickRange (line 7543) | function d3_scale_linearTickRange(domain, m) {
function d3_scale_linearTicks (line 7552) | function d3_scale_linearTicks(domain, m) {
function d3_scale_linearTickFormat (line 7555) | function d3_scale_linearTickFormat(domain, m, format) {
function d3_scale_linearPrecision (line 7583) | function d3_scale_linearPrecision(value) {
function d3_scale_linearFormatPrecision (line 7586) | function d3_scale_linearFormatPrecision(type, range) {
function d3_scale_log (line 7593) | function d3_scale_log(linear, base, positive, domain) {
function d3_scale_pow (line 7665) | function d3_scale_pow(linear, exponent, domain) {
function d3_scale_powPow (line 7699) | function d3_scale_powPow(e) {
function d3_scale_ordinal (line 7713) | function d3_scale_ordinal(domain, ranger) {
function d3_scale_quantile (line 7821) | function d3_scale_quantile(domain, range) {
function d3_scale_quantize (line 7857) | function d3_scale_quantize(x0, x1, range) {
function d3_scale_threshold (line 7891) | function d3_scale_threshold(domain, range) {
function d3_scale_identity (line 7917) | function d3_scale_identity(domain) {
function d3_zero (line 7939) | function d3_zero() {
function arc (line 7944) | function arc() {
function circleSegment (line 8017) | function circleSegment(r1, cw) {
function d3_svg_arcInnerRadius (line 8062) | function d3_svg_arcInnerRadius(d) {
function d3_svg_arcOuterRadius (line 8065) | function d3_svg_arcOuterRadius(d) {
function d3_svg_arcStartAngle (line 8068) | function d3_svg_arcStartAngle(d) {
function d3_svg_arcEndAngle (line 8071) | function d3_svg_arcEndAngle(d) {
function d3_svg_arcPadAngle (line 8074) | function d3_svg_arcPadAngle(d) {
function d3_svg_arcSweep (line 8077) | function d3_svg_arcSweep(x0, y0, x1, y1) {
function d3_svg_arcCornerTangents (line 8080) | function d3_svg_arcCornerTangents(p0, p1, r1, rc, cw) {
function d3_svg_line (line 8085) | function d3_svg_line(projection) {
function d3_svg_lineLinear (line 8152) | function d3_svg_lineLinear(points) {
function d3_svg_lineLinearClosed (line 8155) | function d3_svg_lineLinearClosed(points) {
function d3_svg_lineStep (line 8158) | function d3_svg_lineStep(points) {
function d3_svg_lineStepBefore (line 8164) | function d3_svg_lineStepBefore(points) {
function d3_svg_lineStepAfter (line 8169) | function d3_svg_lineStepAfter(points) {
function d3_svg_lineCardinalOpen (line 8174) | function d3_svg_lineCardinalOpen(points, tension) {
function d3_svg_lineCardinalClosed (line 8177) | function d3_svg_lineCardinalClosed(points, tension) {
function d3_svg_lineCardinal (line 8181) | function d3_svg_lineCardinal(points, tension) {
function d3_svg_lineHermite (line 8184) | function d3_svg_lineHermite(points, tangents) {
function d3_svg_lineCardinalTangents (line 8211) | function d3_svg_lineCardinalTangents(points, tension) {
function d3_svg_lineBasis (line 8221) | function d3_svg_lineBasis(points) {
function d3_svg_lineBasisOpen (line 8237) | function d3_svg_lineBasisOpen(points) {
function d3_svg_lineBasisClosed (line 8257) | function d3_svg_lineBasisClosed(points) {
function d3_svg_lineBundle (line 8276) | function d3_svg_lineBundle(points, tension) {
function d3_svg_lineDot4 (line 8289) | function d3_svg_lineDot4(a, b) {
function d3_svg_lineBasisBezier (line 8293) | function d3_svg_lineBasisBezier(path, x, y) {
function d3_svg_lineSlope (line 8296) | function d3_svg_lineSlope(p0, p1) {
function d3_svg_lineFiniteDifferences (line 8299) | function d3_svg_lineFiniteDifferences(points) {
function d3_svg_lineMonotoneTangents (line 8307) | function d3_svg_lineMonotoneTangents(points) {
function d3_svg_lineMonotone (line 8331) | function d3_svg_lineMonotone(points) {
function d3_svg_lineRadial (line 8340) | function d3_svg_lineRadial(points) {
function d3_svg_area (line 8351) | function d3_svg_area(projection) {
function chord (line 8441) | function chord(d, i) {
function subgroup (line 8445) | function subgroup(self, f, d, i) {
function equals (line 8455) | function equals(a, b) {
function arc (line 8458) | function arc(r, p, a) {
function curve (line 8461) | function curve(r0, p0, r1, p1) {
function d3_svg_chordRadius (line 8491) | function d3_svg_chordRadius(d) {
function diagonal (line 8496) | function diagonal(d, i) {
function d3_svg_diagonalProjection (line 8524) | function d3_svg_diagonalProjection(d) {
function d3_svg_diagonalRadialProjection (line 8534) | function d3_svg_diagonalRadialProjection(projection) {
function symbol (line 8542) | function symbol(d, i) {
function d3_svg_symbolSize (line 8557) | function d3_svg_symbolSize() {
function d3_svg_symbolType (line 8560) | function d3_svg_symbolType() {
function d3_svg_symbolCircle (line 8563) | function d3_svg_symbolCircle(size) {
function d3_selection_interruptNS (line 8612) | function d3_selection_interruptNS(ns) {
function d3_transition (line 8622) | function d3_transition(groups, ns, id) {
function d3_transition_tween (line 8694) | function d3_transition_tween(groups, name, value, tween) {
function attrNull (line 8708) | function attrNull() {
function attrNullNS (line 8711) | function attrNullNS() {
function attrTween (line 8714) | function attrTween(b) {
function attrTweenNS (line 8722) | function attrTweenNS(b) {
function attrTween (line 8734) | function attrTween(d, i) {
function attrTweenNS (line 8740) | function attrTweenNS(d, i) {
function styleNull (line 8758) | function styleNull() {
function styleString (line 8761) | function styleString(b) {
function styleTween (line 8773) | function styleTween(d, i) {
function d3_transition_text (line 8784) | function d3_transition_text(b) {
function d3_transitionNamespace (line 8864) | function d3_transitionNamespace(name) {
function d3_transitionNode (line 8867) | function d3_transitionNode(node, i, ns, id, inherit) {
function axis (line 8931) | function axis(g) {
function d3_svg_axisX (line 9026) | function d3_svg_axisX(selection, x0, x1) {
function d3_svg_axisY (line 9032) | function d3_svg_axisY(selection, y0, y1) {
function brush (line 9040) | function brush(g) {
function redraw (line 9126) | function redraw(g) {
function redrawX (line 9131) | function redrawX(g) {
function redrawY (line 9135) | function redrawY(g) {
function brushstart (line 9139) | function brushstart() {
function d3_time_formatIsoNative (line 9332) | function d3_time_formatIsoNative(date) {
function d3_time_scale (line 9379) | function d3_time_scale(linear, methods, format) {
function d3_time_scaleDate (line 9429) | function d3_time_scaleDate(t) {
function d3_json (line 9488) | function d3_json(request) {
function d3_html (line 9494) | function d3_html(request) {
FILE: libs/ept/ParseBuffer.js
function parseEpt (line 1) | function parseEpt(event) {
FILE: libs/geopackage/geopackage.js
function r (line 1) | function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==...
method [Symbol.iterator] (line 551) | [Symbol.iterator]() {
function Adapter (line 3248) | function Adapter(db) {
function SqliteQueryBuilder (line 3436) | function SqliteQueryBuilder() {}
function appendClauseToString (line 3667) | function appendClauseToString(string, name, clause) {
function appendColumnsToString (line 3674) | function appendColumnsToString(columns, string) {
function columnToAppend (line 3684) | function columnToAppend(column) {
function isEmpty (line 3688) | function isEmpty(string) {
function Adapter (line 3795) | function Adapter(db) {
method [Symbol.iterator] (line 3900) | [Symbol.iterator]() {
function DublinCoreType (line 6176) | function DublinCoreType() {}
method [Symbol.iterator] (line 13403) | [Symbol.iterator]() {
method [Symbol.iterator] (line 13432) | [Symbol.iterator]() {
method [Symbol.iterator] (line 13496) | [Symbol.iterator]() {
function reprojectFeature (line 13544) | function reprojectFeature(featureRow, srs, projection) {
function verifyFeature (line 13552) | function verifyFeature(geometry, boundingBox) {
method [Symbol.iterator] (line 13581) | [Symbol.iterator]() {
function CanvasTileCreator (line 19808) | function CanvasTileCreator(width, height, tileMatrix, tileMatrixSet, til...
function workerDone (line 19943) | function workerDone(data, piecePosition, ctx) {
function TileCreator (line 19984) | function TileCreator(width, height, tileMatrix, tileMatrixSet, tileBound...
function NodeTileCreator (line 20102) | function NodeTileCreator(width, height, tileMatrix, tileMatrixSet, tileB...
function tileWorker (line 20341) | function tileWorker(e) {
method [Symbol.iterator] (line 22812) | [Symbol.iterator]() {
method [Symbol.iterator] (line 22841) | [Symbol.iterator]() {
method [Symbol.iterator] (line 22875) | [Symbol.iterator]() {
method [Symbol.iterator] (line 22912) | [Symbol.iterator]() {
method [Symbol.iterator] (line 22961) | [Symbol.iterator]() {
function UserColumn (line 23627) | function UserColumn(index, name, dataType, max, notNull, defaultValue, p...
function Point (line 24722) | function Point(x, y) {
function VectorTile (line 25031) | function VectorTile(pbf, end) {
function readTile (line 25035) | function readTile(tag, layers, pbf) {
function VectorTileFeature (line 25050) | function VectorTileFeature(pbf, end, extent, keys, values) {
function readFeature (line 25065) | function readFeature(tag, feature, pbf) {
function readTag (line 25072) | function readTag(pbf, feature) {
function project (line 25180) | function project(line) {
function classifyRings (line 25240) | function classifyRings(rings) {
function signedArea (line 25268) | function signedArea(ring) {
function VectorTileLayer (line 25285) | function VectorTileLayer(pbf, end) {
function readLayer (line 25303) | function readLayer(tag, layer, pbf) {
function readValueMessage (line 25312) | function readValueMessage(pbf) {
function booleanPointInPolygon (line 25409) | function booleanPointInPolygon(point, polygon, options) {
function inRing (line 25461) | function inRing(pt, ring, ignoreBoundary) {
function inBBox (line 25492) | function inBBox(pt, bbox) {
function booleanPointOnLine (line 25519) | function booleanPointOnLine(pt, line, options) {
function isPointOnLineSegment (line 25554) | function isPointOnLineSegment(lineSegmentStart, lineSegmentEnd, pt, excl...
function booleanWithin (line 25621) | function booleanWithin(feature1, feature2) {
function isPointInMultiPoint (line 25673) | function isPointInMultiPoint(point, multiPoint) {
function isMultiPointInMultiPoint (line 25684) | function isMultiPointInMultiPoint(multiPoint1, multiPoint2) {
function isMultiPointOnLine (line 25698) | function isMultiPointOnLine(multiPoint, lineString) {
function isMultiPointInPoly (line 25710) | function isMultiPointInPoly(multiPoint, polygon) {
function isLineOnLine (line 25725) | function isLineOnLine(lineString1, lineString2) {
function isLineInPoly (line 25733) | function isLineInPoly(linestring, polygon) {
function isPolyInPoly (line 25763) | function isPolyInPoly(feature1, feature2) {
function doBBoxOverlap (line 25776) | function doBBoxOverlap(bbox1, bbox2) {
function compareCoords (line 25795) | function compareCoords(pair1, pair2) {
function getMidpoint (line 25806) | function getMidpoint(pair1, pair2) {
function bbox (line 25829) | function bbox(geojson) {
function coordEach (line 25889) | function coordEach(geojson, callback, excludeWrapCoord) {
function coordReduce (line 26036) | function coordReduce(geojson, callback, initialValue, excludeWrapCoord) {
function propEach (line 26071) | function propEach(geojson, callback) {
function propReduce (line 26130) | function propReduce(geojson, callback, initialValue) {
function featureEach (line 26166) | function featureEach(geojson, callback) {
function featureReduce (line 26218) | function featureReduce(geojson, callback, initialValue) {
function coordAll (line 26242) | function coordAll(geojson) {
function geomEach (line 26282) | function geomEach(geojson, callback) {
function geomReduce (line 26401) | function geomReduce(geojson, callback, initialValue) {
function flattenEach (line 26438) | function flattenEach(geojson, callback) {
function flattenReduce (line 26521) | function flattenReduce(geojson, callback, initialValue) {
function segmentEach (line 26567) | function segmentEach(geojson, callback) {
function segmentReduce (line 26653) | function segmentReduce(geojson, callback, initialValue) {
function lineEach (line 26694) | function lineEach(geojson, callback) {
function lineReduce (line 26761) | function lineReduce(geojson, callback, initialValue) {
function findSegment (line 26804) | function findSegment(geojson, options) {
function findPoint (line 26900) | function findPoint(geojson, options) {
function feature (line 27083) | function feature(geom, properties, options) {
function geometry (line 27112) | function geometry(type, coordinates, options) {
function point (line 27140) | function point(coordinates, properties, options) {
function points (line 27169) | function points(coordinates, properties, options) {
function polygon (line 27191) | function polygon(coordinates, properties, options) {
function polygons (line 27230) | function polygons(coordinates, properties, options) {
function lineString (line 27254) | function lineString(coordinates, properties, options) {
function lineStrings (line 27285) | function lineStrings(coordinates, properties, options) {
function featureCollection (line 27314) | function featureCollection(features, options) {
function multiLineString (line 27344) | function multiLineString(coordinates, properties, options) {
function multiPoint (line 27370) | function multiPoint(coordinates, properties, options) {
function multiPolygon (line 27397) | function multiPolygon(coordinates, properties, options) {
function geometryCollection (line 27424) | function geometryCollection(geometries, properties, options) {
function round (line 27446) | function round(num, precision) {
function radiansToLength (line 27465) | function radiansToLength(radians, units) {
function lengthToRadians (line 27484) | function lengthToRadians(distance, units) {
function lengthToDegrees (line 27503) | function lengthToDegrees(distance, units) {
function bearingToAzimuth (line 27515) | function bearingToAzimuth(bearing) {
function radiansToDegrees (line 27530) | function radiansToDegrees(radians) {
function degreesToRadians (line 27542) | function degreesToRadians(degrees) {
function convertLength (line 27556) | function convertLength(length, originalUnit, finalUnit) {
function convertArea (line 27573) | function convertArea(area, originalUnit, finalUnit) {
function isNumber (line 27601) | function isNumber(num) {
function isObject (line 27616) | function isObject(input) {
function validateBBox (line 27641) | function validateBBox(bbox) {
function validateId (line 27679) | function validateId(id) {
function radians2degrees (line 27689) | function radians2degrees() {
function degrees2radians (line 27693) | function degrees2radians() {
function distanceToDegrees (line 27697) | function distanceToDegrees() {
function distanceToRadians (line 27701) | function distanceToRadians() {
function radiansToDistance (line 27705) | function radiansToDistance() {
function bearingToAngle (line 27709) | function bearingToAngle() {
function convertDistance (line 27713) | function convertDistance() {
function intersect (line 27767) | function intersect(poly1, poly2, options) {
function getCoord (line 27845) | function getCoord(coord) {
function getCoords (line 27875) | function getCoords(coords) {
function containsNumber (line 27901) | function containsNumber(coordinates) {
function geojsonType (line 27920) | function geojsonType(value, type, name) {
function featureOf (line 27939) | function featureOf(feature, type, name) {
function collectionOf (line 27964) | function collectionOf(featureCollection, type, name) {
function getGeom (line 28003) | function getGeom(geojson) {
function getType (line 28028) | function getType(geojson, name) {
function lineIntersect (line 28068) | function lineIntersect(line1, line2) {
function intersects (line 28119) | function intersects(line1, line2) {
function lineSegment (line 28178) | function lineSegment(geojson) {
function lineSegmentFeature (line 28196) | function lineSegmentFeature(geojson, results) {
function createSegments (line 28224) | function createSegments(coords, properties) {
function bbox (line 28242) | function bbox(coords1, coords2) {
function coordEach (line 28303) | function coordEach(layer, callback, excludeWrapCoord) {
function coordReduce (line 28435) | function coordReduce(layer, callback, initialValue, excludeWrapCoord) {
function propEach (line 28491) | function propEach(layer, callback) {
function propReduce (line 28569) | function propReduce(layer, callback, initialValue) {
function featureEach (line 28626) | function featureEach(layer, callback) {
function featureReduce (line 28697) | function featureReduce(layer, callback, initialValue) {
function coordAll (line 28741) | function coordAll(layer) {
function geomEach (line 28783) | function geomEach(layer, callback) {
function geomReduce (line 28896) | function geomReduce(layer, callback, initialValue) {
function default_1 (line 28931) | function default_1(poly, options) {
function polygonToLine (line 28947) | function polygonToLine(poly, options) {
function multiPolygonToLine (line 28959) | function multiPolygonToLine(multiPoly, options) {
function coordsToLine (line 28976) | function coordsToLine(coords, properties) {
function Entity (line 29005) | function Entity(name, body) {
function DecoderBuffer (line 29063) | function DecoderBuffer(base, options) {
function EncoderBuffer (line 29123) | function EncoderBuffer(value, reporter) {
function Node (line 29214) | function Node(enc, parent) {
function Reporter (line 29823) | function Reporter(options) {
function ReporterError (line 29921) | function ReporterError(path, msg) {
function DERDecoder (line 30018) | function DERDecoder(entity) {
function DERNode (line 30038) | function DERNode(parent) {
function derDecodeTag (line 30269) | function derDecodeTag(buf, fail) {
function derDecodeLen (line 30302) | function derDecodeLen(buf, primitive, fail) {
function PEMDecoder (line 30346) | function PEMDecoder(entity) {
function DEREncoder (line 30401) | function DEREncoder(entity) {
function DERNode (line 30418) | function DERNode(parent) {
function two (line 30534) | function two(num) {
function encodeTag (line 30662) | function encodeTag(tag, primitive, cls, reporter) {
function PEMEncoder (line 30699) | function PEMEncoder(entity) {
function getLens (line 30739) | function getLens (b64) {
function byteLength (line 30759) | function byteLength (b64) {
function _byteLength (line 30766) | function _byteLength (b64, validLen, placeHoldersLen) {
function toByteArray (line 30770) | function toByteArray (b64) {
function tripletToBase64 (line 30816) | function tripletToBase64 (num) {
function encodeChunk (line 30823) | function encodeChunk (uint8, start, end) {
function fromByteArray (line 30836) | function fromByteArray (uint8) {
function assert (line 30876) | function assert (val, msg) {
function inherits (line 30882) | function inherits (ctor, superCtor) {
function BN (line 30892) | function BN (number, base, endian) {
function parseHex (line 31057) | function parseHex (str, start, end) {
function parseBase (line 31111) | function parseBase (str, start, end, mul) {
function toBitArray (line 31498) | function toBitArray (num) {
function smallMulTo (line 31863) | function smallMulTo (self, num, out) {
function bigMulTo (line 32485) | function bigMulTo (self, num, out) {
function jumboMulTo (line 32526) | function jumboMulTo (self, num, out) {
function FFTM (line 32550) | function FFTM (x, y) {
function MPrime (line 33810) | function MPrime (name, p) {
function K256 (line 33860) | function K256 () {
function P224 (line 33927) | function P224 () {
function P192 (line 33935) | function P192 () {
function P25519 (line 33943) | function P25519 () {
function Red (line 33994) | function Red (m) {
function Mont (line 34228) | function Mont (m) {
function Rand (line 34310) | function Rand(rand) {
function asUInt32Array (line 34377) | function asUInt32Array (buf) {
function scrubVec (line 34390) | function scrubVec (v) {
function cryptBlock (line 34396) | function cryptBlock (M, keySchedule, SUB_MIX, SBOX, nRounds) {
function AES (line 34495) | function AES (key) {
function xorTest (line 34608) | function xorTest (a, b) {
function calcIv (line 34620) | function calcIv (self, iv, ck) {
function StreamCipher (line 34643) | function StreamCipher (mode, key, iv, decrypt) {
function getCiphers (line 34723) | function getCiphers () {
function Decipher (line 34743) | function Decipher (mode, key, iv) {
function Splitter (line 34782) | function Splitter () {
function unpad (line 34813) | function unpad (last) {
function createDecipheriv (line 34829) | function createDecipheriv (suite, password, iv) {
function createDecipher (line 34848) | function createDecipher (suite, password) {
function Cipher (line 34869) | function Cipher (mode, key, iv) {
function Splitter (line 34916) | function Splitter () {
function createCipheriv (line 34945) | function createCipheriv (suite, password, iv) {
function createCipher (line 34964) | function createCipher (suite, password) {
function toArray (line 34979) | function toArray (buf) {
function fromArray (line 34988) | function fromArray (out) {
function GHASH (line 34997) | function GHASH (key) {
function incr32 (line 35067) | function incr32 (iv) {
function encryptStart (line 35106) | function encryptStart (self, data, decrypt) {
function encryptByte (line 35140) | function encryptByte (self, byteParam, decrypt) {
function shiftIn (line 35156) | function shiftIn (buffer, value) {
function encryptByte (line 35184) | function encryptByte (self, byteParam, decrypt) {
function getBlock (line 35213) | function getBlock (self) {
function getBlock (line 35466) | function getBlock (self) {
function StreamCipher (line 35488) | function StreamCipher (mode, key, iv, decrypt) {
function createCipher (line 35518) | function createCipher (suite, password) {
function createDecipher (line 35536) | function createDecipher (suite, password) {
function createCipheriv (line 35554) | function createCipheriv (suite, key, iv) {
function createDecipheriv (line 35562) | function createDecipheriv (suite, key, iv) {
function getCiphers (line 35570) | function getCiphers () {
function DES (line 35598) | function DES (opts) {
function blind (line 35663) | function blind(priv) {
function crt (line 35672) | function crt(msg, priv) {
function getr (line 35692) | function getr(priv) {
function Sign (line 35883) | function Sign (algorithm) {
function Verify (line 35916) | function Verify (algorithm) {
function createSign (line 35948) | function createSign (algorithm) {
function createVerify (line 35952) | function createVerify (algorithm) {
function sign (line 35974) | function sign (hash, key, hashType, signType, tag) {
function ecSign (line 35998) | function ecSign (hash, priv) {
function dsaSign (line 36009) | function dsaSign (hash, priv, algo) {
function toDER (line 36031) | function toDER (r, s) {
function getKey (line 36045) | function getKey (x, q, hash, algo) {
function bits2int (line 36065) | function bits2int (obits, q) {
function bits2octets (line 36072) | function bits2octets (bits, q) {
function makeKey (line 36084) | function makeKey (q, kv, algo) {
function makeR (line 36104) | function makeR (g, k, p, q) {
function verify (line 36121) | function verify (sig, hash, key, signType, tag) {
function ecVerify (line 36161) | function ecVerify (sig, hash, pub) {
function dsaVerify (line 36171) | function dsaVerify (sig, hash, pub) {
function checkValue (line 36192) | function checkValue (b, q) {
function copyProps (line 36208) | function copyProps (src, dst) {
function SafeBuffer (line 36221) | function SafeBuffer (arg, encodingOrOffset, length) {
function _normalizeEncoding (line 36281) | function _normalizeEncoding(enc) {
function normalizeEncoding (line 36311) | function normalizeEncoding(enc) {
function StringDecoder (line 36321) | function StringDecoder(encoding) {
function utf8CheckByte (line 36382) | function utf8CheckByte(byte) {
function utf8CheckIncomplete (line 36390) | function utf8CheckIncomplete(self, buf, i) {
function utf8CheckExtraBytes (line 36423) | function utf8CheckExtraBytes(self, buf, p) {
function utf8FillLast (line 36443) | function utf8FillLast(buf) {
function utf8Text (line 36458) | function utf8Text(buf, i) {
function utf8End (line 36469) | function utf8End(buf) {
function utf16Text (line 36479) | function utf16Text(buf, i) {
function utf16End (line 36502) | function utf16End(buf) {
function base64Text (line 36511) | function base64Text(buf, i) {
function base64End (line 36525) | function base64End(buf) {
function simpleWrite (line 36532) | function simpleWrite(buf) {
function simpleEnd (line 36536) | function simpleEnd(buf) {
function isArrayBuffer (line 36549) | function isArrayBuffer (input) {
function fromArrayBuffer (line 36553) | function fromArrayBuffer (obj, byteOffset, length) {
function fromString (line 36577) | function fromString (string, encoding) {
function bufferFrom (line 36591) | function bufferFrom (value, encodingOrOffset, length) {
function typedArraySupport (line 36676) | function typedArraySupport () {
function createBuffer (line 36705) | function createBuffer (length) {
function Buffer (line 36725) | function Buffer (arg, encodingOrOffset, length) {
function from (line 36751) | function from (value, encodingOrOffset, length) {
function assertSize (line 36816) | function assertSize (size) {
function alloc (line 36824) | function alloc (size, fill, encoding) {
function allocUnsafe (line 36848) | function allocUnsafe (size) {
function fromString (line 36866) | function fromString (string, encoding) {
function fromArrayLike (line 36890) | function fromArrayLike (array) {
function fromArrayBuffer (line 36899) | function fromArrayBuffer (array, byteOffset, length) {
function fromObject (line 36923) | function fromObject (obj) {
function checked (line 36948) | function checked (length) {
function SlowBuffer (line 36958) | function SlowBuffer (length) {
function byteLength (line 37049) | function byteLength (string, encoding) {
function slowToString (line 37098) | function slowToString (encoding, start, end) {
function swap (line 37176) | function swap (b, n, m) {
function bidirectionalIndexOf (line 37319) | function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {
function arrayIndexOf (line 37375) | function arrayIndexOf (arr, val, byteOffset, encoding, dir) {
function hexWrite (line 37443) | function hexWrite (buf, string, offset, length) {
function utf8Write (line 37468) | function utf8Write (buf, string, offset, length) {
function asciiWrite (line 37472) | function asciiWrite (buf, string, offset, length) {
function latin1Write (line 37476) | function latin1Write (buf, string, offset, length) {
function base64Write (line 37480) | function base64Write (buf, string, offset, length) {
function ucs2Write (line 37484) | function ucs2Write (buf, string, offset, length) {
function base64Slice (line 37566) | function base64Slice (buf, start, end) {
function utf8Slice (line 37574) | function utf8Slice (buf, start, end) {
function decodeCodePointsArray (line 37652) | function decodeCodePointsArray (codePoints) {
function asciiSlice (line 37670) | function asciiSlice (buf, start, end) {
function latin1Slice (line 37680) | function latin1Slice (buf, start, end) {
function hexSlice (line 37690) | function hexSlice (buf, start, end) {
function utf16leSlice (line 37703) | function utf16leSlice (buf, start, end) {
function checkOffset (line 37743) | function checkOffset (offset, ext, length) {
function checkInt (line 37918) | function checkInt (buf, value, offset, ext, max, min) {
function checkIEEE754 (line 38106) | function checkIEEE754 (buf, value, offset, ext, max, min) {
function writeFloat (line 38111) | function writeFloat (buf, value, offset, littleEndian, noAssert) {
function writeDouble (line 38129) | function writeDouble (buf, value, offset, littleEndian, noAssert) {
function base64clean (line 38270) | function base64clean (str) {
function utf8ToBytes (line 38284) | function utf8ToBytes (string, units) {
function asciiToBytes (line 38364) | function asciiToBytes (str) {
function utf16leToBytes (line 38373) | function utf16leToBytes (str, units) {
function base64ToBytes (line 38389) | function base64ToBytes (str) {
function blitBuffer (line 38393) | function blitBuffer (src, dst, offset, length) {
function isInstance (line 38404) | function isInstance (obj, type) {
function numberIsNaN (line 38409) | function numberIsNaN (obj) {
function CipherBase (line 38501) | function CipherBase (hashMode) {
function ConcatStream (line 38608) | function ConcatStream(opts, cb) {
function isArrayish (line 38670) | function isArrayish (arr) {
function isBufferish (line 38674) | function isBufferish (p) {
function stringConcat (line 38678) | function stringConcat (parts) {
function bufferConcat (line 38702) | function bufferConcat (parts) {
function arrayConcat (line 38717) | function arrayConcat (parts) {
function u8Concat (line 38725) | function u8Concat (parts) {
function isArray (line 38770) | function isArray(arg) {
function isBoolean (line 38778) | function isBoolean(arg) {
function isNull (line 38783) | function isNull(arg) {
function isNullOrUndefined (line 38788) | function isNullOrUndefined(arg) {
function isNumber (line 38793) | function isNumber(arg) {
function isString (line 38798) | function isString(arg) {
function isSymbol (line 38803) | function isSymbol(arg) {
function isUndefined (line 38808) | function isUndefined(arg) {
function isRegExp (line 38813) | function isRegExp(re) {
function isObject (line 38818) | function isObject(arg) {
function isDate (line 38823) | function isDate(d) {
function isError (line 38828) | function isError(e) {
function isFunction (line 38833) | function isFunction(arg) {
function isPrimitive (line 38838) | function isPrimitive(arg) {
function objectToString (line 38850) | function objectToString(o) {
function ECDH (line 38901) | function ECDH (curve) {
function formatReturnValue (line 38965) | function formatReturnValue (bn, enc, len) {
function Hash (line 38991) | function Hash (hash) {
function Hmac (line 39035) | function Hmac (alg, key) {
function Hmac (line 39096) | function Hmac (alg, key) {
function ascending (line 39241) | function ascending(a, b) {
function bisector (line 39245) | function bisector(compare) {
function ascendingComparator (line 39271) | function ascendingComparator(f) {
function pairs (line 39281) | function pairs(array, f) {
function pair (line 39288) | function pair(a, b) {
function cross (line 39292) | function cross(values0, values1, reduce) {
function descending (line 39312) | function descending(a, b) {
function number (line 39316) | function number(x) {
function variance (line 39320) | function variance(values, valueof) {
function deviation (line 39352) | function deviation(array, f) {
function extent (line 39357) | function extent(values, valueof) {
function constant (line 39400) | function constant(x) {
function identity (line 39406) | function identity(x) {
function range (line 39410) | function range(start, stop, step) {
function ticks (line 39428) | function ticks(start, stop, count) {
function tickIncrement (line 39457) | function tickIncrement(start, stop, count) {
function tickStep (line 39466) | function tickStep(start, stop, count) {
function sturges (line 39476) | function sturges(values) {
function histogram (line 39480) | function histogram() {
function quantile (line 39547) | function quantile(values, p, valueof) {
function freedmanDiaconis (line 39560) | function freedmanDiaconis(values, min, max) {
function scott (line 39565) | function scott(values, min, max) {
function max (line 39569) | function max(values, valueof) {
function mean (line 39604) | function mean(values, valueof) {
function median (line 39628) | function median(values, valueof) {
function merge (line 39653) | function merge(arrays) {
function min (line 39675) | function min(values, valueof) {
function permute (line 39710) | function permute(array, indexes) {
function scan (line 39716) | function scan(values, compare) {
function shuffle (line 39735) | function shuffle(array, i0, i1) {
function sum (line 39750) | function sum(values, valueof) {
function transpose (line 39771) | function transpose(matrix) {
function length (line 39781) | function length(d) {
function zip (line 39785) | function zip() {
function adder (line 39840) | function adder() {
function Adder (line 39844) | function Adder() {
function add (line 39867) | function add(adder, a, b) {
function acos (line 39897) | function acos(x) {
function asin (line 39901) | function asin(x) {
function haversin (line 39905) | function haversin(x) {
function noop (line 39909) | function noop() {}
function streamGeometry (line 39911) | function streamGeometry(geometry, stream) {
function streamLine (line 39959) | function streamLine(coordinates, stream, closed) {
function streamPolygon (line 39966) | function streamPolygon(coordinates, stream) {
function geoStream (line 39973) | function geoStream(object, stream) {
function areaRingStart (line 40009) | function areaRingStart() {
function areaRingEnd (line 40013) | function areaRingEnd() {
function areaPointFirst (line 40017) | function areaPointFirst(lambda, phi) {
function areaPoint (line 40024) | function areaPoint(lambda, phi) {
function area (line 40045) | function area(object) {
function spherical (line 40051) | function spherical(cartesian) {
function cartesian (line 40055) | function cartesian(spherical) {
function cartesianDot (line 40060) | function cartesianDot(a, b) {
function cartesianCross (line 40064) | function cartesianCross(a, b) {
function cartesianAddInPlace (line 40069) | function cartesianAddInPlace(a, b) {
function cartesianScale (line 40073) | function cartesianScale(vector, k) {
function cartesianNormalizeInPlace (line 40078) | function cartesianNormalizeInPlace(d) {
function boundsPoint (line 40117) | function boundsPoint(lambda, phi) {
function linePoint (line 40123) | function linePoint(lambda, phi) {
function boundsLineStart (line 40172) | function boundsLineStart() {
function boundsLineEnd (line 40176) | function boundsLineEnd() {
function boundsRingPoint (line 40182) | function boundsRingPoint(lambda, phi) {
function boundsRingStart (line 40193) | function boundsRingStart() {
function boundsRingEnd (line 40197) | function boundsRingEnd() {
function angle (line 40208) | function angle(lambda0, lambda1) {
function rangeCompare (line 40212) | function rangeCompare(a, b) {
function rangeContains (line 40216) | function rangeContains(range, x) {
function bounds (line 40220) | function bounds(feature) {
function centroidPoint (line 40280) | function centroidPoint(lambda, phi) {
function centroidPointCartesian (line 40286) | function centroidPointCartesian(x, y, z) {
function centroidLineStart (line 40293) | function centroidLineStart() {
function centroidLinePointFirst (line 40297) | function centroidLinePointFirst(lambda, phi) {
function centroidLinePoint (line 40307) | function centroidLinePoint(lambda, phi) {
function centroidLineEnd (line 40321) | function centroidLineEnd() {
function centroidRingStart (line 40327) | function centroidRingStart() {
function centroidRingEnd (line 40331) | function centroidRingEnd() {
function centroidRingPointFirst (line 40336) | function centroidRingPointFirst(lambda, phi) {
function centroidRingPoint (line 40347) | function centroidRingPoint(lambda, phi) {
function centroid (line 40369) | function centroid(object) {
function constant (line 40394) | function constant(x) {
function compose (line 40400) | function compose(a, b) {
function rotationIdentity (line 40413) | function rotationIdentity(lambda, phi) {
function rotateRadians (line 40419) | function rotateRadians(deltaLambda, deltaPhi, deltaGamma) {
function forwardRotationLambda (line 40426) | function forwardRotationLambda(deltaLambda) {
function rotationLambda (line 40432) | function rotationLambda(deltaLambda) {
function rotationPhiGamma (line 40438) | function rotationPhiGamma(deltaPhi, deltaGamma) {
function rotation (line 40471) | function rotation(rotate) {
function circleStream (line 40488) | function circleStream(stream, radius, delta, direction, t0, t1) {
function circleRadius (line 40508) | function circleRadius(cosRadius, point) {
function circle (line 40515) | function circle() {
function clipBuffer (line 40555) | function clipBuffer() {
function pointEqual (line 40578) | function pointEqual(a, b) {
function Intersection (line 40582) | function Intersection(point, points, other, entry) {
function clipRejoin (line 40594) | function clipRejoin(segments, compareIntersection, startInside, interpol...
function link (line 40667) | function link(array) {
function longitude (line 40684) | function longitude(point) {
function polygonContains (line 40691) | function polygonContains(polygon, point) {
function clip (line 40758) | function clip(pointVisible, clipLine, interpolate, start) {
function validSegment (line 40873) | function validSegment(segment) {
function compareIntersection (line 40879) | function compareIntersection(a, b) {
function clipAntimeridianLine (line 40894) | function clipAntimeridianLine(stream) {
function clipAntimeridianIntersect (line 40939) | function clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1) {
function clipAntimeridianInterpolate (line 40950) | function clipAntimeridianInterpolate(from, to, direction, stream) {
function clipCircle (line 40974) | function clipCircle(radius) {
function clipLine (line 41151) | function clipLine(a, b, x0, y0, x1, y1) {
function clipRectangle (line 41216) | function clipRectangle(x0, y0, x1, y1) {
function extent (line 41374) | function extent() {
function lengthLineStart (line 41407) | function lengthLineStart() {
function lengthLineEnd (line 41412) | function lengthLineEnd() {
function lengthPointFirst (line 41416) | function lengthPointFirst(lambda, phi) {
function lengthPoint (line 41422) | function lengthPoint(lambda, phi) {
function length (line 41436) | function length(object) {
function distance (line 41445) | function distance(a, b) {
function containsGeometry (line 41497) | function containsGeometry(geometry, point) {
function containsPoint (line 41503) | function containsPoint(coordinates, point) {
function containsLine (line 41507) | function containsLine(coordinates, point) {
function containsPolygon (line 41527) | function containsPolygon(coordinates, point) {
function ringRadians (line 41531) | function ringRadians(ring) {
function pointRadians (line 41535) | function pointRadians(point) {
function contains (line 41539) | function contains(object, point) {
function graticuleX (line 41545) | function graticuleX(y0, y1, dy) {
function graticuleY (line 41550) | function graticuleY(x0, x1, dx) {
function graticule (line 41555) | function graticule() {
function graticule10 (line 41644) | function graticule10() {
function interpolate (line 41648) | function interpolate(a, b) {
function identity (line 41683) | function identity(x) {
function areaRingStart$1 (line 41714) | function areaRingStart$1() {
function areaPointFirst$1 (line 41718) | function areaPointFirst$1(x, y) {
function areaPoint$1 (line 41723) | function areaPoint$1(x, y) {
function areaRingEnd$1 (line 41728) | function areaRingEnd$1() {
function boundsPoint$1 (line 41750) | function boundsPoint$1(x, y) {
function centroidPoint$1 (line 41798) | function centroidPoint$1(x, y) {
function centroidLineStart$1 (line 41804) | function centroidLineStart$1() {
function centroidPointFirstLine (line 41808) | function centroidPointFirstLine(x, y) {
function centroidPointLine (line 41813) | function centroidPointLine(x, y) {
function centroidLineEnd$1 (line 41821) | function centroidLineEnd$1() {
function centroidRingStart$1 (line 41825) | function centroidRingStart$1() {
function centroidRingEnd$1 (line 41829) | function centroidRingEnd$1() {
function centroidPointFirstRing (line 41833) | function centroidPointFirstRing(x, y) {
function centroidPointRing (line 41838) | function centroidPointRing(x, y) {
function PathContext (line 41854) | function PathContext(context) {
function lengthPointFirst$1 (line 41926) | function lengthPointFirst$1(x, y) {
function lengthPoint$1 (line 41931) | function lengthPoint$1(x, y) {
function PathString (line 41937) | function PathString() {
function circle$1 (line 41990) | function circle$1(radius) {
function index (line 41997) | function index(projection, context) {
function transform (line 42050) | function transform(methods) {
function transformer (line 42056) | function transformer(methods) {
function TransformStream (line 42065) | function TransformStream() {}
function fit (line 42077) | function fit(projection, fitBounds, object) {
function fitExtent (line 42087) | function fitExtent(projection, extent, object) {
function fitSize (line 42098) | function fitSize(projection, size, object) {
function fitWidth (line 42102) | function fitWidth(projection, width, object) {
function fitHeight (line 42112) | function fitHeight(projection, height, object) {
function resample (line 42125) | function resample(project, delta2) {
function resampleNone (line 42129) | function resampleNone(project) {
function resample$1 (line 42138) | function resample$1(project, delta2) {
function transformRotate (line 42227) | function transformRotate(rotate) {
function scaleTranslate (line 42236) | function scaleTranslate(k, dx, dy) {
function scaleTranslateRotate (line 42246) | function scaleTranslateRotate(k, dx, dy, alpha) {
function projection (line 42264) | function projection(project) {
function projectionMutator (line 42268) | function projectionMutator(projectAt) {
function conicProjection (line 42375) | function conicProjection(projectAt) {
function cylindricalEqualAreaRaw (line 42388) | function cylindricalEqualAreaRaw(phi0) {
function conicEqualAreaRaw (line 42402) | function conicEqualAreaRaw(y0, y1) {
function conicEqualArea (line 42423) | function conicEqualArea() {
function albers (line 42429) | function albers() {
function multiplex (line 42440) | function multiplex(streams) {
function albersUsa (line 42457) | function albersUsa() {
function azimuthalRaw (line 42545) | function azimuthalRaw(scale) {
function azimuthalInvert (line 42557) | function azimuthalInvert(angle) {
function azimuthalEqualArea (line 42578) | function azimuthalEqualArea() {
function azimuthalEquidistant (line 42592) | function azimuthalEquidistant() {
function mercatorRaw (line 42598) | function mercatorRaw(lambda, phi) {
function mercator (line 42606) | function mercator() {
function mercatorProjection (line 42611) | function mercatorProjection(project) {
function tany (line 42647) | function tany(y) {
function conicConformalRaw (line 42651) | function conicConformalRaw(y0, y1) {
function conicConformal (line 42673) | function conicConformal() {
function equirectangularRaw (line 42679) | function equirectangularRaw(lambda, phi) {
function equirectangular (line 42685) | function equirectangular() {
function conicEquidistantRaw (line 42690) | function conicEquidistantRaw(y0, y1) {
function conicEquidistant (line 42710) | function conicEquidistant() {
function equalEarthRaw (line 42723) | function equalEarthRaw(lambda, phi) {
function equalEarth (line 42745) | function equalEarth() {
function gnomonicRaw (line 42750) | function gnomonicRaw(x, y) {
function gnomonic (line 42757) | function gnomonic() {
function scaleTranslate$1 (line 42763) | function scaleTranslate$1(kx, ky, tx, ty) {
function identity$1 (line 42771) | function identity$1() {
function naturalEarth1Raw (line 42821) | function naturalEarth1Raw(lambda, phi) {
function naturalEarth1 (line 42842) | function naturalEarth1() {
function orthographicRaw (line 42847) | function orthographicRaw(x, y) {
function orthographic (line 42853) | function orthographic() {
function stereographicRaw (line 42859) | function stereographicRaw(x, y) {
function stereographic (line 42868) | function stereographic() {
function transverseMercatorRaw (line 42874) | function transverseMercatorRaw(lambda, phi) {
function transverseMercator (line 42882) | function transverseMercator() {
function CBCState (line 42970) | function CBCState(iv) {
function instantiate (line 42978) | function instantiate(Base) {
function Cipher (line 43034) | function Cipher(options) {
function DESState (line 43182) | function DESState() {
function DES (line 43187) | function DES(options) {
function EDEState (line 43327) | function EDEState(type, key) {
function EDE (line 43349) | function EDE(options) {
function getDiffieHellman (line 43639) | function getDiffieHellman (mod) {
function createDiffieHellman (line 43650) | function createDiffieHellman (prime, enc, generator, genc) {
function setPublicKey (line 43692) | function setPublicKey(pub, enc) {
function setPrivateKey (line 43701) | function setPrivateKey(priv, enc) {
function checkPrime (line 43711) | function checkPrime(prime, generator) {
function DH (line 43764) | function DH(prime, generator, malleable) {
function formatReturnValue (line 43836) | function formatReturnValue(bn, enc) {
function _getPrimes (line 43868) | function _getPrimes() {
function simpleSieve (line 43890) | function simpleSieve(p) {
function fermatTest (line 43905) | function fermatTest(p) {
function findPrime (line 43910) | function findPrime(bits, gen) {
function BaseCurve (line 44012) | function BaseCurve(type, conf) {
function BasePoint (line 44251) | function BasePoint(curve, type) {
function EdwardsCurve (line 44389) | function EdwardsCurve(conf) {
function Point (line 44493) | function Point(curve, x, y, z, t) {
function MontCurve (line 44832) | function MontCurve(conf) {
function Point (line 44853) | function Point(curve, x, z) {
function ShortCurve (line 45013) | function ShortCurve(conf) {
function Point (line 45254) | function Point(curve, x, y, isRed) {
function obj2point (line 45338) | function obj2point(obj) {
function JPoint (line 45493) | function JPoint(curve, x, y, z) {
function PresetCurve (line 45953) | function PresetCurve(options) {
function defineCurve (line 45969) | function defineCurve(name, options) {
function EC (line 46163) | function EC(options) {
function KeyPair (line 46400) | function KeyPair(ec, options) {
function Signature (line 46521) | function Signature(options, enc) {
function Position (line 46538) | function Position() {
function getLength (line 46542) | function getLength(buf, p) {
function rmPadding (line 46557) | function rmPadding(buf) {
function constructLength (line 46607) | function constructLength(arr, len) {
function EDDSA (line 46660) | function EDDSA(curve) {
function KeyPair (line 46786) | function KeyPair(eddsa, params) {
function Signature (line 46883) | function Signature(eddsa, sig) {
function getNAF (line 47730) | function getNAF(num, w) {
function getJSF (line 47760) | function getJSF(k1, k2) {
function cachedProperty (line 47816) | function cachedProperty(obj, name, computer) {
function parseBytes (line 47825) | function parseBytes(bytes) {
function intFromLE (line 47831) | function intFromLE(bytes) {
function EventEmitter (line 47952) | function EventEmitter() {
function g (line 48090) | function g() {
function isFunction (line 48218) | function isFunction(arg) {
function isNumber (line 48222) | function isNumber(arg) {
function isObject (line 48226) | function isObject(arg) {
function isUndefined (line 48230) | function isUndefined(arg) {
function EVP_BytesToKey (line 48239) | function EVP_BytesToKey (password, salt, keyBits, ivLen) {
function geojsonRbush (line 49113) | function geojsonRbush(maxEntries) {
function simplify (line 49313) | function simplify(coords, first, last, sqTolerance) {
function getSqSegDist (line 49351) | function getSqSegDist(px, py, x, y, bx, by) {
function createFeature (line 49376) | function createFeature(id, type, geom, tags) {
function calcBBox (line 49391) | function calcBBox(feature) {
function calcLineBBox (line 49412) | function calcLineBBox(feature, geom) {
function convert (line 49423) | function convert(data, options) {
function convertFeature (line 49441) | function convertFeature(features, geojson, options, index) {
function convertPoint (line 49503) | function convertPoint(coords, out) {
function convertLine (line 49509) | function convertLine(ring, out, tolerance, isPolygon) {
function convertLines (line 49542) | function convertLines(rings, out, tolerance, isPolygon) {
function projectX (line 49550) | function projectX(x) {
function projectY (line 49554) | function projectY(y) {
function clip (line 49567) | function clip(features, scale, k1, k2, axis, minAll, maxAll, options) {
function clipPoints (line 49644) | function clipPoints(geom, newGeom, k1, k2, axis) {
function clipLine (line 49656) | function clipLine(geom, newGeom, k1, k2, axis, isPolygon, trackMetrics) {
function newSlice (line 49730) | function newSlice(line) {
function clipLines (line 49738) | function clipLines(geom, newGeom, k1, k2, axis, isPolygon) {
function addPoint (line 49744) | function addPoint(out, x, y, z) {
function intersectX (line 49750) | function intersectX(out, ax, ay, bx, by, x) {
function intersectY (line 49758) | function intersectY(out, ax, ay, bx, by, y) {
function wrap (line 49766) | function wrap(features, options) {
function shiftFeatureCoords (line 49782) | function shiftFeatureCoords(features, offset) {
function shiftCoords (line 49816) | function shiftCoords(points, offset) {
function transformTile (line 49833) | function transformTile(tile, extent) {
function transformPoint (line 49868) | function transformPoint(x, y, extent, z2, tx, ty) {
function createTile (line 49874) | function createTile(features, z, tx, ty, options) {
function addFeature (line 49908) | function addFeature(tile, feature, tolerance, options) {
function addLine (line 49961) | function addLine(result, geom, tile, tolerance, isPolygon, isOuter) {
function rewind (line 49985) | function rewind(ring, clockwise) {
function geojsonvt (line 50002) | function geojsonvt(data, options) {
function GeoJSONVT (line 50006) | function GeoJSONVT(data, options) {
function toID (line 50187) | function toID(z, x, y) {
function extend (line 50191) | function extend(dest, src) {
function throwIfNotStringOrBuffer (line 50206) | function throwIfNotStringOrBuffer (val, prefix) {
function HashBase (line 50212) | function HashBase (blockSize) {
function BlockHash (line 50320) | function BlockHash() {
function Hmac (line 50414) | function Hmac(hash, key, enc) {
function RIPEMD160 (line 50469) | function RIPEMD160() {
function f (line 50534) | function f(j, x, y, z) {
function K (line 50547) | function K(j) {
function Kh (line 50560) | function Kh(j) {
function SHA1 (line 50632) | function SHA1() {
function SHA224 (line 50696) | function SHA224() {
function SHA256 (line 50761) | function SHA256() {
function SHA384 (line 50836) | function SHA384() {
function SHA512 (line 50930) | function SHA512() {
function ch64_hi (line 51082) | function ch64_hi(xh, xl, yh, yl, zh) {
function ch64_lo (line 51089) | function ch64_lo(xh, xl, yh, yl, zh, zl) {
function maj64_hi (line 51096) | function maj64_hi(xh, xl, yh, yl, zh) {
function maj64_lo (line 51103) | function maj64_lo(xh, xl, yh, yl, zh, zl) {
function s0_512_hi (line 51110) | function s0_512_hi(xh, xl) {
function s0_512_lo (line 51121) | function s0_512_lo(xh, xl) {
function s1_512_hi (line 51132) | function s1_512_hi(xh, xl) {
function s1_512_lo (line 51143) | function s1_512_lo(xh, xl) {
function g0_512_hi (line 51154) | function g0_512_hi(xh, xl) {
function g0_512_lo (line 51165) | function g0_512_lo(xh, xl) {
function g1_512_hi (line 51176) | function g1_512_hi(xh, xl) {
function g1_512_lo (line 51187) | function g1_512_lo(xh, xl) {
function ft_1 (line 51204) | function ft_1(s, x, y, z) {
function ch32 (line 51214) | function ch32(x, y, z) {
function maj32 (line 51219) | function maj32(x, y, z) {
function p32 (line 51224) | function p32(x, y, z) {
function s0_256 (line 51229) | function s0_256(x) {
function s1_256 (line 51234) | function s1_256(x) {
function g0_256 (line 51239) | function g0_256(x) {
function g1_256 (line 51244) | function g1_256(x) {
function isSurrogatePair (line 51257) | function isSurrogatePair(msg, i) {
function toArray (line 51267) | function toArray(msg, enc) {
function toHex (line 51314) | function toHex(msg) {
function htonl (line 51322) | function htonl(w) {
function toHex32 (line 51331) | function toHex32(msg, endian) {
function zero2 (line 51343) | function zero2(word) {
function zero8 (line 51351) | function zero8(word) {
function join32 (line 51371) | function join32(msg, start, end, endian) {
function split32 (line 51387) | function split32(msg, endian) {
function rotr32 (line 51407) | function rotr32(w, b) {
function rotl32 (line 51412) | function rotl32(w, b) {
function sum32 (line 51417) | function sum32(a, b) {
function sum32_3 (line 51422) | function sum32_3(a, b, c) {
function sum32_4 (line 51427) | function sum32_4(a, b, c, d) {
function sum32_5 (line 51432) | function sum32_5(a, b, c, d, e) {
function sum64 (line 51437) | function sum64(buf, pos, ah, al) {
function sum64_hi (line 51448) | function sum64_hi(ah, al, bh, bl) {
function sum64_lo (line 51455) | function sum64_lo(ah, al, bh, bl) {
function sum64_4_hi (line 51461) | function sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {
function sum64_4_lo (line 51476) | function sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {
function sum64_5_hi (line 51482) | function sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {
function sum64_5_lo (line 51499) | function sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {
function rotr64_hi (line 51506) | function rotr64_hi(ah, al, num) {
function rotr64_lo (line 51512) | function rotr64_lo(ah, al, num) {
function shr64_hi (line 51518) | function shr64_hi(ah, al, num) {
function shr64_lo (line 51523) | function shr64_lo(ah, al, num) {
function HmacDRBG (line 51536) | function HmacDRBG(options) {
function detector (line 51748) | function detector(buffer) {
class FileHandle (line 51767) | class FileHandle {
method constructor (line 51768) | constructor(fd) {
method stat (line 51771) | stat() {
method read (line 51783) | read(buffer, offset, length, position) {
method close (line 51795) | close() {
function adopt (line 51829) | function adopt(value) { return value instanceof P ? value : new P(functi...
function fulfilled (line 51831) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
function rejected (line 51832) | function rejected(value) { try { step(generator["throw"](value)); } catc...
function step (line 51833) | function step(result) { result.done ? resolve(result.value) : adopt(resu...
function lookup (line 51856) | function lookup(buffer, filepath) {
function asyncFileToBuffer (line 51875) | function asyncFileToBuffer(filepath) {
function syncFileToBuffer (line 51895) | function syncFileToBuffer(filepath) {
function imageSize (line 51910) | function imageSize(input, callback) {
function readUInt (line 51940) | function readUInt(buffer, bits, offset, isBigEndian) {
method validate (line 51987) | validate(buffer) {
method calculate (line 51990) | calculate(buffer) {
method validate (line 52004) | validate(buffer) {
method calculate (line 52010) | calculate(buffer) {
method validate (line 52019) | validate(buffer) {
method calculate (line 52022) | calculate(buffer) {
method validate (line 52035) | validate(buffer) {
method calculate (line 52039) | calculate(buffer) {
function readImageHeader (line 52113) | function readImageHeader(buffer, imageOffset) {
function getImageSize (line 52120) | function getImageSize(type) {
method validate (line 52125) | validate(buffer) {
method calculate (line 52128) | calculate(buffer) {
function getSizeFromOffset (line 52184) | function getSizeFromOffset(buffer, offset) {
function getImageSize (line 52188) | function getImageSize(buffer, imageIndex) {
method validate (line 52196) | validate(buffer) {
method calculate (line 52202) | calculate(buffer) {
function isEXIF (line 52237) | function isEXIF(buffer) {
function extractSize (line 52240) | function extractSize(buffer, index) {
function validateExifBlock (line 52246) | function validateExifBlock(buffer, index) {
function extractOrientation (line 52258) | function extractOrientation(exifBlock, isBigEndian) {
function validateBuffer (line 52293) | function validateBuffer(buffer, index) {
method validate (line 52304) | validate(buffer) {
method calculate (line 52308) | calculate(buffer) {
method validate (line 52349) | validate(buffer) {
method calculate (line 52352) | calculate(buffer) {
method validate (line 52368) | validate(buffer) {
method calculate (line 52381) | calculate(buffer) {
method validate (line 52457) | validate(buffer) {
method calculate (line 52461) | calculate(buffer) {
method validate (line 52475) | validate(buffer) {
method calculate (line 52478) | calculate(buffer) {
function parseLength (line 52506) | function parseLength(len) {
function parseViewbox (line 52513) | function parseViewbox(viewbox) {
function parseAttributes (line 52520) | function parseAttributes(root) {
function calculateByDimensions (line 52530) | function calculateByDimensions(attrs) {
function calculateByViewbox (line 52536) | function calculateByViewbox(attrs) {
method validate (line 52560) | validate(buffer) {
method calculate (line 52564) | calculate(buffer) {
function readIFD (line 52588) | function readIFD(buffer, filepath, isBigEndian) {
function readValue (line 52603) | function readValue(buffer, isBigEndian) {
function nextTag (line 52609) | function nextTag(buffer) {
function extractTags (line 52615) | function extractTags(buffer, isBigEndian) {
function determineEndianness (line 52639) | function determineEndianness(buffer) {
method validate (line 52654) | validate(buffer) {
method calculate (line 52657) | calculate(buffer, filepath) {
function calculateExtended (line 52680) | function calculateExtended(buffer) {
function calculateLossless (line 52686) | function calculateLossless(buffer) {
function calculateLossy (line 52692) | function calculateLossy(buffer) {
method validate (line 52701) | validate(buffer) {
method calculate (line 52707) | calculate(buffer) {
function isBuffer (line 52790) | function isBuffer (obj) {
function isSlowBuffer (line 52795) | function isSlowBuffer (obj) {
function DEFAULT_COMPARE (line 52822) | function DEFAULT_COMPARE (a, b) { return a > b ? 1 : a < b ? -1 : 0; }
function loadRecursive (line 53407) | function loadRecursive (parent, keys, values, start, end) {
function sort (line 53422) | function sort(keys, values, left, right, compare) {
function computeFields (line 53462) | function computeFields (event, prev, operation) {
function inResult (line 53493) | function inResult(event, operation) {
function equals (line 53633) | function equals(p1, p2) {
function signedArea (line 53660) | function signedArea(p0, p1, p2) {
function compareEvents (line 53669) | function compareEvents(e1, e2) {
function specialCases (line 53686) | function specialCases(e1, e2, p1, p2) {
function divideSegment (line 53712) | function divideSegment(se, p, queue) {
function crossProduct (line 53754) | function crossProduct(a, b) {
function dotProduct (line 53766) | function dotProduct(a, b) {
function intersection (line 53789) | function intersection (a1, a2, b1, b2, noEndpointTouch) {
function possibleIntersection (line 53899) | function possibleIntersection (se1, se2, queue) {
function compareSegments (line 54003) | function compareSegments(le1, le2) {
function subdivide (line 54039) | function subdivide(eventQueue, subject, clipping, sbbox, cbbox, operatio...
function orderEvents (line 54112) | function orderEvents(sortedEvents) {
function nextPos (line 54164) | function nextPos(pos, resultEvents, processed, origIndex) {
function connectEdges (line 54195) | function connectEdges(sortedEvents, operation) {
function TinyQueue (line 54263) | function TinyQueue(data, compare) {
function defaultCompare (line 54277) | function defaultCompare(a, b) {
function processPolygon (line 54358) | function processPolygon(contourOrHole, isSubject, depth, Q, bbox, isExte...
function fillQueue (line 54396) | function fillQueue(subject, clipping, sbbox, cbbox, operation) {
function trivialOperation (line 54425) | function trivialOperation(subject, clipping, operation) {
function compareBBoxes (line 54441) | function compareBBoxes(subject, clipping, sbbox, cbbox, operation) {
function boolean (line 54460) | function boolean(subject, clipping, operation) {
function union (line 54492) | function union (subject, clipping) {
function diff (line 54496) | function diff (subject, clipping) {
function xor (line 54500) | function xor (subject, clipping){
function intersection$1 (line 54504) | function intersection$1 (subject, clipping) {
function MD5 (line 54532) | function MD5 () {
function rotl (line 54650) | function rotl (x, n) {
function fnF (line 54654) | function fnF (a, b, c, d, m, k, s) {
function fnG (line 54658) | function fnG (a, b, c, d, m, k, s) {
function fnH (line 54662) | function fnH (a, b, c, d, m, k, s) {
function fnI (line 54666) | function fnI (a, b, c, d, m, k, s) {
function MillerRabin (line 54676) | function MillerRabin(rand) {
function assert (line 54792) | function assert(val, msg) {
function toArray (line 54807) | function toArray(msg, enc) {
function zero2 (line 54839) | function zero2(word) {
function toHex (line 54847) | function toHex(msg) {
function parseKeys (line 55184) | function parseKeys (buffer) {
function decrypt (line 55269) | function decrypt (data, password) {
function normalizeArray (line 55314) | function normalizeArray(parts, allowAboveRoot) {
function trim (line 55415) | function trim(arr) {
function basename (line 55484) | function basename(path) {
function filter (line 55571) | function filter (xs, f) {
function Pbf (line 55597) | function Pbf(buf) {
function readVarintRemainder (line 55982) | function readVarintRemainder(l, s, p) {
function readPackedEnd (line 55996) | function readPackedEnd(pbf) {
function toNum (line 56001) | function toNum(low, high, isSigned) {
function writeBigVarint (line 56009) | function writeBigVarint(val, pbf) {
function writeBigVarintLow (line 56037) | function writeBigVarintLow(low, high, pbf) {
function writeBigVarintHigh (line 56045) | function writeBigVarintHigh(high, pbf) {
function makeRoomForExtraLength (line 56056) | function makeRoomForExtraLength(startPos, len, pbf) {
function writePackedVarint (line 56067) | function writePackedVarint(arr, pbf) { for (var i = 0; i < arr.length;...
function writePackedSVarint (line 56068) | function writePackedSVarint(arr, pbf) { for (var i = 0; i < arr.length;...
function writePackedFloat (line 56069) | function writePackedFloat(arr, pbf) { for (var i = 0; i < arr.length;...
function writePackedDouble (line 56070) | function writePackedDouble(arr, pbf) { for (var i = 0; i < arr.length;...
function writePackedBoolean (line 56071) | function writePackedBoolean(arr, pbf) { for (var i = 0; i < arr.length;...
function writePackedFixed32 (line 56072) | function writePackedFixed32(arr, pbf) { for (var i = 0; i < arr.length;...
function writePackedSFixed32 (line 56073) | function writePackedSFixed32(arr, pbf) { for (var i = 0; i < arr.length;...
function writePackedFixed64 (line 56074) | function writePackedFixed64(arr, pbf) { for (var i = 0; i < arr.length;...
function writePackedSFixed64 (line 56075) | function writePackedSFixed64(arr, pbf) { for (var i = 0; i < arr.length;...
function readUInt32 (line 56079) | function readUInt32(buf, pos) {
function writeInt32 (line 56086) | function writeInt32(buf, val, pos) {
function readInt32 (line 56093) | function readInt32(buf, pos) {
function readUtf8 (line 56100) | function readUtf8(buf, pos, end) {
function writeUtf8 (line 56166) | function writeUtf8(buf, str, pos) {
function checkNative (line 56244) | function checkNative (algo) {
function browserPbkdf2 (line 56265) | function browserPbkdf2 (password, salt, iterations, length, algo) {
function resolvePromise (line 56282) | function resolvePromise (promise, callback) {
function checkBuffer (line 56345) | function checkBuffer (buf, name) {
function Hmac (line 56393) | function Hmac (alg, key, saltLen) {
function getDigest (line 56428) | function getDigest (alg) {
function pbkdf2 (line 56441) | function pbkdf2 (password, salt, iterations, keylen, digest) {
function nextTick (line 56492) | function nextTick(fn, arg1, arg2, arg3) {
function defaultSetTimout (line 56540) | function defaultSetTimout() {
function defaultClearTimeout (line 56543) | function defaultClearTimeout () {
function runTimeout (line 56566) | function runTimeout(fun) {
function runClearTimeout (line 56591) | function runClearTimeout(marker) {
function cleanUpNextTick (line 56623) | function cleanUpNextTick() {
function drainQueue (line 56638) | function drainQueue() {
function Item (line 56676) | function Item(fun, array) {
function noop (line 56690) | function noop() {}
function match (line 56777) | function match(obj, key) {
function Parser (line 56937) | function Parser(text) {
function parseString (line 57088) | function parseString(txt) {
function mapit (line 57093) | function mapit(obj, key, value) {
function sExpr (line 57109) | function sExpr(v, obj) {
function rename (line 57199) | function rename(obj, params) {
function d2r (line 57210) | function d2r(input) {
function cleanWKT (line 57214) | function cleanWKT(wkt) {
function defs (line 57345) | function defs(name) {
function testObj (line 57396) | function testObj(code){
function testDef (line 57399) | function testDef(code){
function testWKT (line 57403) | function testWKT(code){
function testProj (line 57408) | function testProj(code){
function parse (line 57411) | function parse(code){
function init (line 57479) | function init() {
function forward (line 57512) | function forward(p) {
function inverse (line 57543) | function inverse(p) {
function init$1 (line 57574) | function init$1() {
function identity (line 57578) | function identity(pt) {
function add (line 57593) | function add(proj, i) {
function get (line 57606) | function get(name) {
function start (line 57616) | function start() {
function eccentricity (line 57884) | function eccentricity(a, b, rf, R_A) {
function sphere (line 57903) | function sphere(a, b, rf, ellps, sphere) {
function datum (line 58026) | function datum(datumCode, datum_params, a, b, es, ep2) {
function Projection$1 (line 58058) | function Projection$1(srsCode,callback) {
function compareDatums (line 58119) | function compareDatums(source, dest) {
function geodeticToGeocentric (line 58148) | function geodeticToGeocentric(p, es, a) {
function geocentricToGeodetic (line 58187) | function geocentricToGeodetic(p, es, a, b) {
function geocentricToWgs84 (line 58295) | function geocentricToWgs84(p, datum_type, datum_params) {
function geocentricFromWgs84 (line 58327) | function geocentricFromWgs84(p, datum_type, datum_params) {
function checkParams (line 58360) | function checkParams(type) {
function checkNotWGS (line 58464) | function checkNotWGS(source, dest) {
function transform (line 58468) | function transform(source, dest, point) {
function transformer (line 58542) | function transformer(from, to, coords) {
function checkProj (line 58558) | function checkProj(item) {
function proj4$1 (line 58567) | function proj4$1(fromProj, toProj, coord) {
function forward$1 (line 58645) | function forward$1(ll, accuracy) {
function inverse$1 (line 58661) | function inverse$1(mgrs) {
function toPoint$1 (line 58669) | function toPoint$1(mgrs) {
function degToRad (line 58683) | function degToRad(deg) {
function radToDeg (line 58694) | function radToDeg(rad) {
function LLtoUTM (line 58709) | function LLtoUTM(ll) {
function UTMtoLL (line 58796) | function UTMtoLL(utm) {
function getLetterDesignator (line 58886) | function getLetterDesignator(lat) {
function encode (line 58963) | function encode(utm, accuracy) {
function get100kID (line 58981) | function get100kID(easting, northing, zoneNumber) {
function get100kSetForZone (line 58995) | function get100kSetForZone(i) {
function getLetter100kID (line 59020) | function getLetter100kID(column, row, parm) {
function decode (line 59088) | function decode(mgrsString) {
function getEastingFromChar (line 59182) | function getEastingFromChar(e, set) {
function getNorthingFromChar (line 59226) | function getNorthingFromChar(n, set) {
function getMinNorthing (line 59271) | function getMinNorthing(zoneLetter) {
function Point (line 59346) | function Point(x, y, z) {
function init$2 (line 59434) | function init$2() {
function forward$2 (line 59450) | function forward$2(p) {
function inverse$2 (line 59525) | function inverse$2(p) {
function init$3 (line 59697) | function init$3() {
function forward$3 (line 59768) | function forward$3(p) {
function inverse$3 (line 59805) | function inverse$3(p) {
function init$4 (line 59866) | function init$4() {
function init$6 (line 59894) | function init$6() {
function forward$5 (line 59905) | function forward$5(p) {
function inverse$5 (line 59914) | function inverse$5(p) {
function init$5 (line 59943) | function init$5() {
function forward$4 (line 59956) | function forward$4(p) {
function inverse$4 (line 59971) | function inverse$4(p) {
function ssfn_ (line 60005) | function ssfn_(phit, sinphi, eccen) {
function init$7 (line 60010) | function init$7() {
function forward$6 (line 60043) | function forward$6(p) {
function inverse$6 (line 60096) | function inverse$6(p) {
function init$8 (line 60180) | function init$8() {
function forward$7 (line 60198) | function forward$7(p) {
function inverse$7 (line 60219) | function inverse$7(p) {
function init$9 (line 60261) | function init$9() {
function forward$8 (line 60336) | function forward$8(p) {
function inverse$8 (line 60386) | function inverse$8(p) {
function init$10 (line 60426) | function init$10() {
function forward$9 (line 60484) | function forward$9(p) {
function inverse$9 (line 60516) | function inverse$9(p) {
function init$11 (line 60560) | function init$11() {
function forward$10 (line 60595) | function forward$10(p) {
function inverse$10 (line 60619) | function inverse$10(p) {
function init$12 (line 60711) | function init$12() {
function forward$11 (line 60723) | function forward$11(p) {
function inverse$11 (line 60760) | function inverse$11(p) {
function init$13 (line 60834) | function init$13() {
function forward$12 (line 60885) | function forward$12(p) {
function inverse$12 (line 60983) | function inverse$12(p) {
function authset (line 61082) | function authset(es) {
function authlat (line 61096) | function authlat(beta, APA) {
function init$14 (line 61120) | function init$14() {
function forward$13 (line 61159) | function forward$13(p) {
function inverse$13 (line 61178) | function inverse$13(p) {
function phi1z (line 61213) | function phi1z(eccent, qs) {
function init$15 (line 61250) | function init$15() {
function forward$14 (line 61263) | function forward$14(p) {
function inverse$14 (line 61304) | function inverse$14(p) {
function init$16 (line 61382) | function init$16() {
function forward$15 (line 61391) | function forward$15(p) {
function inverse$15 (line 61415) | function inverse$15(p) {
function init$17 (line 61442) | function init$17() {
function forward$16 (line 61456) | function forward$16(p) {
function inverse$16 (line 61470) | function inverse$16(p) {
function init$18 (line 61490) | function init$18() {
function forward$17 (line 61505) | function forward$17(p) {
function inverse$17 (line 61540) | function inverse$17(p) {
function init$19 (line 61630) | function init$19() {
function forward$18 (line 61689) | function forward$18(p) {
function inverse$18 (line 61740) | function inverse$18(p) {
function init$20 (line 61848) | function init$20() {
function forward$19 (line 61854) | function forward$19(p) {
function inverse$19 (line 61870) | function inverse$19(p) {
function init$21 (line 61891) | function init$21() {
function forward$20 (line 61911) | function forward$20(p) {
function inverse$20 (line 61950) | function inverse$20(p) {
function init$22 (line 61996) | function init$22() {}
function forward$21 (line 61999) | function forward$21(p) {
function inverse$21 (line 62035) | function inverse$21(p) {
function init$23 (line 62078) | function init$23() {
function forward$22 (line 62118) | function forward$22(p) {
function inverse$22 (line 62142) | function inverse$22(p) {
function init$24 (line 62187) | function init$24() {
function forward$23 (line 62192) | function forward$23(p) {
function inverse$23 (line 62249) | function inverse$23(p) {
function init$25 (line 62309) | function init$25() {
function forward$24 (line 62314) | function forward$24(p) {
function inverse$24 (line 62399) | function inverse$24(p) {
function init$26 (line 62503) | function init$26() {
function forward$25 (line 62514) | function forward$25(p) {
function inverse$25 (line 62541) | function inverse$25(p) {
function i2ops (line 62660) | function i2ops (c) {
function oaep (line 62710) | function oaep (key, msg) {
function pkcs1 (line 62734) | function pkcs1 (key, msg, reverse) {
function compare (line 62757) | function compare (a, b) {
function oaep (line 62814) | function oaep (key, msg) {
function pkcs1 (line 62830) | function pkcs1 (key, msg, reverse) {
function nonZero (line 62844) | function nonZero (len) {
function withPublic (line 62867) | function withPublic (paddedMsg, key) {
function error (line 62954) | function error(type) {
function map (line 62966) | function map(array, fn) {
function mapDomain (line 62985) | function mapDomain(string, fn) {
function ucs2decode (line 63014) | function ucs2decode(string) {
function ucs2encode (line 63048) | function ucs2encode(array) {
function basicToDigit (line 63070) | function basicToDigit(codePoint) {
function digitToBasic (line 63094) | function digitToBasic(digit, flag) {
function adapt (line 63105) | function adapt(delta, numPoints, firstTime) {
function decode (line 63122) | function decode(input) {
function encode (line 63223) | function encode(input) {
function toUnicode (line 63341) | function toUnicode(input) {
function toASCII (line 63360) | function toASCII(input) {
function hasOwnProperty (line 63451) | function hasOwnProperty(obj, prop) {
function map (line 63580) | function map (xs, f) {
function Queue (line 63610) | function Queue (options) {
function next (line 63701) | function next (err, result) {
function clearTimers (line 63773) | function clearTimers () {
function callOnErrorOrEnd (line 63781) | function callOnErrorOrEnd (cb) {
function done (line 63794) | function done (err) {
function quickselect (line 63807) | function quickselect(arr, k, left, right, compare) {
function quickselectStep (line 63811) | function quickselectStep(arr, k, left, right, compare) {
function swap (line 63851) | function swap(arr, i, j) {
function defaultCompare (line 63857) | function defaultCompare(a, b) {
function oldBrowser (line 63877) | function oldBrowser () {
function randomBytes (line 63890) | function randomBytes (size, cb) {
function oldBrowser (line 63923) | function oldBrowser () {
function assertOffset (line 63932) | function assertOffset (offset, length) {
function assertSize (line 63946) | function assertSize (size, offset, length) {
function randomFill (line 63966) | function randomFill (buf, offset, size, cb) {
function actualFill (line 63986) | function actualFill (buf, offset, size, cb) {
function randomFillSync (line 64013) | function randomFillSync (buf, offset, size) {
function rbush (line 64039) | function rbush(maxEntries, format) {
function findItem (line 64490) | function findItem(item, items, equalsFn) {
function calcBBox (line 64500) | function calcBBox(node, toBBox) {
function distBBox (line 64505) | function distBBox(node, k, p, toBBox, destNode) {
function extend (line 64520) | function extend(a, b) {
function compareNodeMinX (line 64528) | function compareNodeMinX(a, b) { return a.minX - b.minX; }
function compareNodeMinY (line 64529) | function compareNodeMinY(a, b) { return a.minY - b.minY; }
function bboxArea (line 64531) | function bboxArea(a) { return (a.maxX - a.minX) * (a.maxY - a.minY); }
function bboxMargin (line 64532) | function bboxMargin(a) { return (a.maxX - a.minX) + (a.maxY - a.minY); }
function enlargedArea (line 64534) | function enlargedArea(a, b) {
function intersectionArea (line 64539) | function intersectionArea(a, b) {
function contains (line 64549) | function contains(a, b) {
function intersects (line 64556) | function intersects(a, b) {
function createNode (line 64563) | function createNode(children) {
function multiSelect (line 64578) | function multiSelect(arr, left, right, n, compare) {
function Duplex (line 64662) | function Duplex(options) {
function onend (line 64689) | function onend() {
function onEndNT (line 64699) | function onEndNT(self) {
function PassThrough (line 64769) | function PassThrough(options) {
function _uint8ArrayToBuffer (line 64836) | function _uint8ArrayToBuffer(chunk) {
function _isUint8Array (line 64839) | function _isUint8Array(obj) {
function prependListener (line 64868) | function prependListener(emitter, event, fn) {
function ReadableState (line 64880) | function ReadableState(options, stream) {
function Readable (line 64957) | function Readable(options) {
function readableAddChunk (line 65032) | function readableAddChunk(stream, chunk, encoding, addToFront, skipChunk...
function addChunk (line 65068) | function addChunk(stream, state, chunk, addToFront) {
function chunkInvalid (line 65082) | function chunkInvalid(state, chunk) {
function needMoreData (line 65097) | function needMoreData(state) {
function computeNewHighWaterMark (line 65115) | function computeNewHighWaterMark(n) {
function howMuchToRead (line 65134) | function howMuchToRead(n, state) {
function onEofChunk (line 65253) | function onEofChunk(stream, state) {
function emitReadable (line 65271) | function emitReadable(stream) {
function emitReadable_ (line 65281) | function emitReadable_(stream) {
function maybeReadMore (line 65293) | function maybeReadMore(stream, state) {
function maybeReadMore_ (line 65300) | function maybeReadMore_(stream, state) {
function onunpipe (line 65344) | function onunpipe(readable, unpipeInfo) {
function onend (line 65354) | function onend() {
function cleanup (line 65367) | function cleanup() {
function ondata (line 65395) | function ondata(chunk) {
function onerror (line 65415) | function onerror(er) {
function onclose (line 65426) | function onclose() {
function onfinish (line 65431) | function onfinish() {
function unpipe (line 65438) | function unpipe() {
function pipeOnDrain (line 65455) | function pipeOnDrain(src) {
function nReadingNextTick (line 65542) | function nReadingNextTick(self) {
function resume (line 65559) | function resume(stream, state) {
function resume_ (line 65566) | function resume_(stream, state) {
function flow (line 65589) | function flow(stream) {
function fromList (line 65675) | function fromList(n, state) {
function fromListPartial (line 65695) | function fromListPartial(n, list, hasStrings) {
function copyFromBufferString (line 65715) | function copyFromBufferString(n, list) {
function copyFromBuffer (line 65744) | function copyFromBuffer(n, list) {
function endReadable (line 65771) | function endReadable(stream) {
function endReadableNT (line 65784) | function endReadableNT(state, stream) {
function indexOf (line 65793) | function indexOf(xs, x) {
function afterTransform (line 65877) | function afterTransform(er, data) {
function Transform (line 65902) | function Transform(options) {
function prefinish (line 65934) | function prefinish() {
function done (line 66001) | function done(stream, er, data) {
function WriteReq (line 66052) | function WriteReq(chunk, encoding, cb) {
function CorkedRequest (line 66061) | function CorkedRequest(state) {
function _uint8ArrayToBuffer (line 66101) | function _uint8ArrayToBuffer(chunk) {
function _isUint8Array (line 66104) | function _isUint8Array(obj) {
function nop (line 66114) | function nop() {}
function WritableState (line 66116) | function WritableState(options, stream) {
function Writable (line 66266) | function Writable(options) {
function writeAfterEnd (line 66303) | function writeAfterEnd(stream, cb) {
function validChunk (line 66313) | function validChunk(stream, state, chunk, cb) {
function decodeChunk (line 66380) | function decodeChunk(state, chunk, encoding) {
function writeOrBuffer (line 66400) | function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
function doWrite (line 66439) | function doWrite(stream, state, writev, len, chunk, encoding, cb) {
function onwriteError (line 66448) | function onwriteError(stream, state, sync, er, cb) {
function onwriteStateUpdate (line 66472) | function onwriteStateUpdate(state) {
function onwrite (line 66479) | function onwrite(stream, er) {
function afterWrite (line 66504) | function afterWrite(stream, state, finished, cb) {
function onwriteDrain (line 66514) | function onwriteDrain(stream, state) {
function clearBuffer (line 66522) | function clearBuffer(stream, state) {
function needFinish (line 66613) | function needFinish(state) {
function callFinal (line 66616) | function callFinal(stream, state) {
function prefinish (line 66627) | function prefinish(stream, state) {
function finishMaybe (line 66640) | function finishMaybe(stream, state) {
function endWritable (line 66652) | function endWritable(stream, state, cb) {
function onCorkedFinish (line 66662) | function onCorkedFinish(corkReq, state, err) {
function _classCallCheck (line 66708) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
function copyBuffer (line 66713) | function copyBuffer(src, target, offset) {
function BufferList (line 66718) | function BufferList() {
function destroy (line 66794) | function destroy(err, cb) {
function undestroy (line 66835) | function undestroy() {
function emitErrorNT (line 66852) | function emitErrorNT(self, err) {
function isXY (line 66888) | function isXY(list) {
function traverseCoords (line 66894) | function traverseCoords(coordinates, callback) {
function clone (line 66900) | function clone(obj) {
function traverseGeoJson (line 66909) | function traverseGeoJson(geometryCb, nodeCb, geojson) {
function detectCrs (line 66935) | function detectCrs(geojson, projs) {
function determineCrs (line 66956) | function determineCrs(crs, projs) {
function calcBbox (line 66964) | function calcBbox(geojson) {
function reproject (line 66978) | function reproject(geojson, from, to, projs) {
function match (line 67091) | function match(obj, key) {
function Parser (line 67251) | function Parser(text) {
function parseString (line 67402) | function parseString(txt) {
function mapit (line 67407) | function mapit(obj, key, value) {
function sExpr (line 67423) | function sExpr(v, obj) {
function rename (line 67513) | function rename(obj, params) {
function d2r (line 67524) | function d2r(input) {
function cleanWKT (line 67528) | function cleanWKT(wkt) {
function defs (line 67679) | function defs(name) {
function testObj (line 67730) | function testObj(code){
function testDef (line 67733) | function testDef(code){
function testWKT (line 67737) | function testWKT(code){
function checkMercator (line 67743) | function checkMercator(item) {
function checkProjStr (line 67751) | function checkProjStr(item) {
function testProj (line 67758) | function testProj(code){
function parse (line 67761) | function parse(code){
function init (line 67838) | function init() {
function forward (line 67871) | function forward(p) {
function inverse (line 67902) | function inverse(p) {
function init$1 (line 67933) | function init$1() {
function identity (line 67937) | function identity(pt) {
function add (line 67952) | function add(proj, i) {
function get (line 67965) | function get(name) {
function start (line 67975) | function start() {
function eccentricity (line 68243) | function eccentricity(a, b, rf, R_A) {
function sphere (line 68262) | function sphere(a, b, rf, ellps, sphere) {
function datum (line 68391) | function datum(datumCode, datum_params, a, b, es, ep2) {
function Projection (line 68423) | function Projection(srsCode,callback) {
function compareDatums (line 68485) | function compareDatums(source, dest) {
function geodeticToGeocentric (line 68514) | function geodeticToGeocentric(p, es, a) {
function geocentricToGeodetic (line 68556) | function geocentricToGeodetic(p, es, a, b) {
function geocentricToWgs84 (line 68664) | function geocentricToWgs84(p, datum_type, datum_params) {
function geocentricFromWgs84 (line 68696) | function geocentricFromWgs84(p, datum_type, datum_params) {
function checkParams (line 68729) | function checkParams(type) {
function checkCoord (line 68837) | function checkCoord(num) {
function checkNotWGS (line 68849) | function checkNotWGS(source, dest) {
function transform (line 68853) | function transform(source, dest, point) {
function transformer (line 68927) | function transformer(from, to, coords) {
function checkProj (line 68954) | function checkProj(item) {
function proj4$1 (line 68963) | function proj4$1(fromProj, toProj, coord) {
function forward$1 (line 69041) | function forward$1(ll, accuracy) {
function inverse$1 (line 69057) | function inverse$1(mgrs) {
function toPoint$1 (line 69065) | function toPoint$1(mgrs) {
function degToRad (line 69079) | function degToRad(deg) {
function radToDeg (line 69090) | function radToDeg(rad) {
function LLtoUTM (line 69105) | function LLtoUTM(ll) {
function UTMtoLL (line 69192) | function UTMtoLL(utm) {
function getLetterDesignator (line 69282) | function getLetterDesignator(lat) {
function encode (line 69359) | function encode(utm, accuracy) {
function get100kID (line 69377) | function get100kID(easting, northing, zoneNumber) {
function get100kSetForZone (line 69391) | function get100kSetForZone(i) {
function getLetter100kID (line 69416) | function getLetter100kID(column, row, parm) {
function decode (line 69484) | function decode(mgrsString) {
function getEastingFromChar (line 69578) | function getEastingFromChar(e, set) {
function getNorthingFromChar (line 69622) | function getNorthingFromChar(n, set) {
function getMinNorthing (line 69667) | function getMinNorthing(zoneLetter) {
function Point (line 69742) | function Point(x, y, z) {
function init$2 (line 69830) | function init$2() {
function forward$2 (line 69846) | function forward$2(p) {
function inverse$2 (line 69921) | function inverse$2(p) {
function init$3 (line 70093) | function init$3() {
function forward$3 (line 70164) | function forward$3(p) {
function inverse$3 (line 70201) | function inverse$3(p) {
function init$4 (line 70262) | function init$4() {
function init$6 (line 70290) | function init$6() {
function forward$5 (line 70301) | function forward$5(p) {
function inverse$5 (line 70310) | function inverse$5(p) {
function init$5 (line 70339) | function init$5() {
function forward$4 (line 70352) | function forward$4(p) {
function inverse$4 (line 70367) | function inverse$4(p) {
function ssfn_ (line 70401) | function ssfn_(phit, sinphi, eccen) {
function init$7 (line 70406) | function init$7() {
function forward$6 (line 70439) | function forward$6(p) {
function inverse$6 (line 70492) | function inverse$6(p) {
function init$8 (line 70576) | function init$8() {
function forward$7 (line 70594) | function forward$7(p) {
function inverse$7 (line 70615) | function inverse$7(p) {
function init$9 (line 70657) | function init$9() {
function forward$8 (line 70732) | function forward$8(p) {
function inverse$8 (line 70782) | function inverse$8(p) {
function init$10 (line 70822) | function init$10() {
function forward$9 (line 70880) | function forward$9(p) {
function inverse$9 (line 70912) | function inverse$9(p) {
function init$11 (line 70956) | function init$11() {
function forward$10 (line 70991) | function forward$10(p) {
function inverse$10 (line 71015) | function inverse$10(p) {
function init$12 (line 71107) | function init$12() {
function forward$11 (line 71119) | function forward$11(p) {
function inverse$11 (line 71156) | function inverse$11(p) {
function init$13 (line 71230) | function init$13() {
function forward$12 (line 71281) | function forward$12(p) {
function inverse$12 (line 71379) | function inverse$12(p) {
function authset (line 71478) | function authset(es) {
function authlat (line 71492) | function authlat(beta, APA) {
function init$14 (line 71516) | function init$14() {
function forward$13 (line 71555) | function forward$13(p) {
function inverse$13 (line 71574) | function inverse$13(p) {
function phi1z (line 71609) | function phi1z(eccent, qs) {
function init$15 (line 71646) | function init$15() {
function forward$14 (line 71659) | function forward$14(p) {
function inverse$14 (line 71700) | function inverse$14(p) {
function init$16 (line 71778) | function init$16() {
function forward$15 (line 71787) | function forward$15(p) {
function inverse$15 (line 71811) | function inverse$15(p) {
function init$17 (line 71838) | function init$17() {
function forward$16 (line 71852) | function forward$16(p) {
function inverse$16 (line 71866) | function inverse$16(p) {
function init$18 (line 71886) | function init$18() {
function forward$17 (line 71901) | function forward$17(p) {
function inverse$17 (line 71936) | function inverse$17(p) {
function init$19 (line 72026) | function init$19() {
function forward$18 (line 72085) | function forward$18(p) {
function inverse$18 (line 72136) | function inverse$18(p) {
function init$20 (line 72244) | function init$20() {
function forward$19 (line 72250) | function forward$19(p) {
function inverse$19 (line 72266) | function inverse$19(p) {
function init$21 (line 72287) | function init$21() {
function forward$20 (line 72307) | function forward$20(p) {
function inverse$20 (line 72346) | function inverse$20(p) {
function init$22 (line 72392) | function init$22() {}
function forward$21 (line 72395) | function forward$21(p) {
function inverse$21 (line 72431) | function inverse$21(p) {
function init$23 (line 72474) | function init$23() {
function forward$22 (line 72514) | function forward$22(p) {
function inverse$22 (line 72538) | function inverse$22(p) {
function init$24 (line 72583) | function init$24() {
function forward$23 (line 72588) | function forward$23(p) {
function inverse$23 (line 72645) | function inverse$23(p) {
function init$25 (line 72705) | function init$25() {
function forward$24 (line 72710) | function forward$24(p) {
function inverse$24 (line 72795) | function inverse$24(p) {
function init$26 (line 72899) | function init$26() {
function forward$25 (line 72910) | function forward$25(p) {
function inverse$25 (line 72937) | function inverse$25(p) {
function init$27 (line 73007) | function init$27() {
function forward$26 (line 73039) | function forward$26(p) {
function inverse$26 (line 73162) | function inverse$26(p) {
function qsc_fwd_equat_face_theta (line 73311) | function qsc_fwd_equat_face_theta(phi, y, x, area) {
function qsc_shift_lon_origin (line 73335) | function qsc_shift_lon_origin(lon, offset) {
function newton_rapshon (line 73415) | function newton_rapshon(f_df, start, max_err, iters) {
function init$28 (line 73427) | function init$28() {
function forward$27 (line 73435) | function forward$27(ll) {
function inverse$27 (line 73459) | function inverse$27(xy) {
function RIPEMD160 (line 73599) | function RIPEMD160 () {
function rotl (line 73695) | function rotl (x, n) {
function fn1 (line 73699) | function fn1 (a, b, c, d, e, m, k, s) {
function fn2 (line 73703) | function fn2 (a, b, c, d, e, m, k, s) {
function fn3 (line 73707) | function fn3 (a, b, c, d, e, m, k, s) {
function fn4 (line 73711) | function fn4 (a, b, c, d, e, m, k, s) {
function fn5 (line 73715) | function fn5 (a, b, c, d, e, m, k, s) {
function copyProps (line 73727) | function copyProps (src, dst) {
function SafeBuffer (line 73740) | function SafeBuffer (arg, encodingOrOffset, length) {
function Hash (line 73791) | function Hash (blockSize, finalSize) {
function Sha (line 73906) | function Sha () {
function rotl5 (line 73925) | function rotl5 (num) {
function rotl30 (line 73929) | function rotl30 (num) {
function ft (line 73933) | function ft (s, b, c, d) {
function Sha1 (line 74003) | function Sha1 () {
function rotl1 (line 74022) | function rotl1 (num) {
function rotl5 (line 74026) | function rotl5 (num) {
function rotl30 (line 74030) | function rotl30 (num) {
function ft (line 74034) | function ft (s, b, c, d) {
function Sha224 (line 74100) | function Sha224 () {
function Sha256 (line 74173) | function Sha256 () {
function ch (line 74196) | function ch (x, y, z) {
function maj (line 74200) | function maj (x, y, z) {
function sigma0 (line 74204) | function sigma0 (x) {
function sigma1 (line 74208) | function sigma1 (x) {
function gamma0 (line 74212) | function gamma0 (x) {
function gamma1 (line 74216) | function gamma1 (x) {
function Sha384 (line 74284) | function Sha384 () {
function writeInt64BE (line 74318) | function writeInt64BE (h, l, offset) {
function Sha512 (line 74385) | function Sha512 () {
function Ch (line 74416) | function Ch (x, y, z) {
function maj (line 74420) | function maj (x, y, z) {
function sigma0 (line 74424) | function sigma0 (x, xl) {
function sigma1 (line 74428) | function sigma1 (x, xl) {
function Gamma0 (line 74432) | function Gamma0 (x, xl) {
function Gamma0l (line 74436) | function Gamma0l (x, xl) {
function Gamma1 (line 74440) | function Gamma1 (x, xl) {
function Gamma1l (line 74444) | function Gamma1l (x, xl) {
function getCarry (line 74448) | function getCarry (a, b) {
function writeInt64BE (line 74578) | function writeInt64BE (h, l, offset) {
function a (line 74671) | function a(a,b){this.ga=a;this.db=b;this.oa=1;this.Ha=[]}
function a (line 74676) | function a(a){this.filename="dbfile_"+(4294967295*Math.random()>>>0);if(...
function Fa (line 74694) | function Fa(a){var b=D[Ga>>2];a=b+a+15&-16;if(a<=Ha())D[Ga>>2]=a;else if...
function va (line 74694) | function va(a){for(var b=0;64>b;b++)if(!t[b])return t[b]=a,ra+b;throw"Fi...
function q (line 74695) | function q(a,b){b=b||"i8";"*"===b.charAt(b.length-1)&&(b="i32");switch(b...
function assert (line 74695) | function assert(a,b){a||C("Assertion failed: "+b)}
function Qa (line 74695) | function Qa(a){var b=f["_"+a];assert(b,"Cannot call unknown function "+a...
function Ra (line 74696) | function Ra(a,b,c,d){var e={string:function(a){var b=0;if(null!==a&&void...
function pa (line 74697) | function pa(a){var b="i32";"*"===b.charAt(b.length-1)&&(b="i32");switch(...
function ca (line 74698) | function ca(a){var b=Ua;if("number"===typeof a){var c=!0;var d=a}else c=...
function u (line 74699) | function u(a,b,c){var d=b+c;for(c=b;a[c]&&!(c>=d);)++c;if(16<c-b&&a.suba...
function F (line 74699) | function F(a){return a?u(E,a,void 0):""}
function r (line 74700) | function r(a,b,c,d){if(!(0<d))return 0;var e=c;d=c+d-1;for(var g=0;g<a.l...
function oa (line 74701) | function oa(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);552...
function Ya (line 74701) | function Ya(a){return a.replace(/__Z[\w\d_]+/g,function(a){return a===a?...
function Za (line 74701) | function Za(a){0<a%16777216&&(a+=16777216-a%16777216);return a}
function $a (line 74702) | function $a(){f.HEAP8=l=new Int8Array(buffer);f.HEAP16=Ka=new Int16Array...
function bb (line 74703) | function bb(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b...
function hb (line 74703) | function hb(){var a=f.preRun.shift();cb.unshift(a)}
function mb (line 74705) | function mb(a){if(mb.pa){var b=D[a>>2];var c=D[b>>2]}else mb.pa=!0,I.USE...
function nb (line 74706) | function nb(a){f.___errno_location&&(D[f.___errno_location()>>2]=a);retu...
function ob (line 74706) | function ob(a,b){for(var c=0,d=a.length-1;0<=d;d--){var e=a[d];"."===e?a...
function qb (line 74706) | function qb(a){var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=ob(a.spli...
function rb (line 74707) | function rb(a){var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|)...
function sb (line 74707) | function sb(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===...
function tb (line 74707) | function tb(){var a=Array.prototype.slice.call(arguments,0);return qb(a....
function m (line 74707) | function m(a,b){return qb(a+"/"+b)}
function xb (line 74708) | function xb(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<...
function zb (line 74708) | function zb(a,b){yb[a]={input:[],output:[],wa:b};Ab(a,Bb)}
function S (line 74726) | function S(a,b){a=xb("/",a);b=b||{};if(!a)return{path:"",node:null};var ...
function Nb (line 74727) | function Nb(a){for(var b;;){if(a===a.parent)return a=a.ka.bb,b?"/"!==a[a...
function Ob (line 74727) | function Ob(a,b){for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(...
function Pb (line 74727) | function Pb(a){var b=Ob(a.parent.id,a.name);a.va=Q[b];Q[b]=a}
function Qb (line 74727) | function Qb(a){var b=Ob(a.parent.id,a.name);if(Q[b]===a)Q[b]=a.va;else f...
function N (line 74728) | function N(a,b){var c;if(c=(c=Rb(a,"x"))?c:a.ba.lookup?0:13)throw new J(...
function Fb (line 74729) | function Fb(a,b,c,d){Sb||(Sb=function(a,b,c,d){a||(a=this);this.parent=a...
function M (line 74730) | function M(a){return 16384===(a&61440)}
function Ub (line 74730) | function Ub(a){var b=["r","w","rw"][a&3];a&512&&(b+="w");return b}
function Rb (line 74730) | function Rb(a,b){if(Lb)return 0;if(-1===b.indexOf("r")||a.mode&292){if(-...
function Vb (line 74730) | function Vb(a,b){try{return N(a,b),17}catch(c){}return Rb(a,"wx")}
function Wb (line 74731) | function Wb(a,b,c){try{var d=N(a,b)}catch(e){return e.fa}if(a=Rb(a,"wx")...
function Xb (line 74731) | function Xb(a){var b=4096;for(a=a||0;a<=b;a++)if(!P[a])return a;throw ne...
function Yb (line 74732) | function Yb(a,b){Zb||(Zb=function(){},Zb.prototype={},Object.definePrope...
function Ab (line 74732) | function Ab(a,b){Jb[a]={ea:b}}
function $b (line 74733) | function $b(a,b){var c="/"===b,d=!b;if(c&&Ib)throw new J(16);if(!c&&!d){...
function ja (line 74733) | function ja(a,b,c){var d=S(a,{parent:!0}).node;a=sb(a);if(!a||"."===a||"...
function T (line 74733) | function T(a,b){ja(a,(void 0!==b?b:511)&1023|16384,0)}
function ac (line 74734) | function ac(a,b,c){"undefined"===typeof c&&(c=b,b=438);ja(a,b|8192,c)}
function bc (line 74734) | function bc(a,b){if(!xb(a))throw new J(2);var c=S(b,{parent:!0}).node;if...
function ua (line 74735) | function ua(a){var b=S(a,{parent:!0}).node,c=sb(a),d=N(b,c),e=Wb(b,c,!1)...
function Mb (line 74736) | function Mb(a){a=S(a).node;if(!a)throw new J(2);if(!a.ba.readlink)throw ...
function sa (line 74736) | function sa(a,b){a=S(a,{ta:!b}).node;if(!a)throw new J(2);if(!a.ba.ma)th...
function cc (line 74736) | function cc(a){return sa(a,!0)}
function ka (line 74736) | function ka(a,b){var c;"string"===typeof a?c=S(a,{ta:!0}).node:c=a;if(!c...
function dc (line 74737) | function dc(a){var b;"string"===typeof a?b=S(a,{ta:!0}).node:b=a;if(!b.b...
function ec (line 74737) | function ec(a,b){if(0>b)throw new J(22);var c;"string"===typeof a?c=S(a,...
function p (line 74738) | function p(a,b,c,d){if(""===a)throw new J(2);if("string"===typeof b){var...
function ma (line 74740) | function ma(a){if(null===a.fd)throw new J(9);a.Ja&&(a.Ja=null);try{a.ea....
function Gc (line 74740) | function Gc(a,b,c){if(null===a.fd)throw new J(9);if(!a.seekable||!a.ea.r...
function ta (line 74741) | function ta(a,b,c,d,e){if(0>d||0>e)throw new J(22);if(null===a.fd)throw ...
function la (line 74742) | function la(a,b,c,d,e,g){if(0>d||0>e)throw new J(22);if(null===a.fd)thro...
function Hc (line 74743) | function Hc(){J||(J=function(a,b){this.node=b;this.Db=function(a){this.f...
function ia (line 74743) | function ia(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}
function Jc (line 74744) | function Jc(a,b,c){a=m("/dev",a);var d=ia(!!b,!!c);Kc||(Kc=64);var e=Kc+...
function Mc (line 74748) | function Mc(a,b,c){try{var d=a(b)}catch(e){if(e&&e.node&&qb(b)!==qb(Nb(e...
function W (line 74749) | function W(){V+=4;return D[V-4>>2]}
function X (line 74749) | function X(){return F(W())}
function Y (line 74749) | function Y(){var a=P[W()];if(!a)throw new J(K.Na);return a}
function Nc (line 74749) | function Nc(a,b){V=b;return 0}
function Ha (line 74749) | function Ha(){return l.length}
function Oc (line 74750) | function Oc(a){try{var b=new ArrayBuffer(a);if(b.byteLength!=a)return!1;...
function Ia (line 74751) | function Ia(a){if(2130706432<a)return!1;for(var b=Math.max(Ha(),16777216...
function Pc (line 74751) | function Pc(a){if(0===a)return 0;a=F(a);if(!I.hasOwnProperty(a))return 0...
function Qc (line 74751) | function Qc(a){return Math.log(a)/Math.LN10}
function Rc (line 74752) | function Rc(){function a(a){return(a=a.toTimeString().match(/\(([A-Za-z ...
function Vc (line 74753) | function Vc(a,b){Rc();a=new Date(1E3*D[a>>2]);D[b>>2]=a.getSeconds();D[b...
function Wc (line 74754) | function Wc(a){a/=1E3;if((ya||x)&&self.performance&&self.performance.now...
function ba (line 74756) | function ba(a,b){var c=Array(oa(a)+1);a=r(a,c,0,c.length);b&&(c.length=a...
function Ca (line 74757) | function Ca(a){for(var b=[],c=0;c<a.length;c++){var d=a[c];255<d&&(Xc&&a...
function B (line 74760) | function B(a){if(String.prototype.startsWith?a.startsWith(kb):0===a.inde...
function Ua (line 74778) | function Ua(newBuffer){a=new Int8Array(newBuffer);d=new Uint8Array(newBu...
function Rg (line 74780) | function Rg(f){f=f|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...
function $i (line 74781) | function $i(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0...
function zj (line 74782) | function zj(f,g,h){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...
function Aj (line 74782) | function Aj(d,f){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...
function Bj (line 74782) | function Bj(b,f,g,h,i){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0...
function Cj (line 74782) | function Cj(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...
function Dj (line 74782) | function Dj(d,f,g,h,i,j,k){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var...
function Ej (line 74782) | function Ej(d){d=d|0;var e=0,f=0,g=0,h=0,i=0;i=d+8|0;e=c[i>>2]|0;if(e|0)...
function Fj (line 74782) | function Fj(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...
function Gj (line 74782) | function Gj(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0...
function Hj (line 74782) | function Hj(b,d,f,g,h){b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0...
function Ij (line 74782) | function Ij(f,g){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...
function Jj (line 74782) | function Jj(f,i,j){f=f|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r...
function Kj (line 74782) | function Kj(f,h,i,j){f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0...
function Lj (line 74782) | 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;i=Ra;Ra=Ra+...
function Mj (line 74782) | function Mj(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k...
function Nj (line 74782) | function Nj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=b+68|0;h=...
function Oj (line 74782) | function Oj(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...
function Pj (line 74782) | function Pj(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,l=0,m=0...
function Qj (line 74782) | function Qj(d,e){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...
function Rj (line 74782) | function Rj(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0...
function Sj (line 74782) | function Sj(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0...
function Tj (line 74782) | function Tj(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,l=0,m=0...
function Uj (line 74782) | function Uj(d,f,g,h,i,j){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0...
function Vj (line 74782) | function Vj(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,m=0...
function Wj (line 74782) | function Wj(f,i,j,k,l){f=f|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0...
function Xj (line 74782) | function Xj(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;a:while(1){f=c[e+4>>2]|...
function Yj (line 74782) | function Yj(b,e){b=b|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...
function Zj (line 74782) | function Zj(b,c){b=b|0;c=c|0;a[b+20>>0]=0;return 2}
function _j (line 74782) | function _j(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...
function $j (line 74782) | function $j(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;if(...
function ak (line 74782) | function ak(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[b>>2]|0...
function bk (line 74782) | function bk(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0...
function ck (line 74782) | function ck(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((a[d+16>>0]|0)!=...
function dk (line 74782) | function dk(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,l=0,m=0...
function ek (line 74782) | function ek(b,d){b=b|0;d=d|0;var e=0,f=0;if(!b){d=0;return d|0}if(((d|0)...
function fk (line 74782) | function fk(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...
function gk (line 74782) | function gk(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...
function hk (line 74782) | function hk(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0...
function ik (line 74782) | function ik(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0...
function jk (line 74782) | function jk(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0...
function kk (line 74782) | function kk(b,d){b=b|0;d=d|0;var e=0;if((a[d>>0]|0)!=-95)return 0;d=d+44...
function lk (line 74782) | function lk(a,b){a=a|0;b=b|0;return (c[a+24>>2]|0)!=(b|0)|0}
function mk (line 74782) | function mk(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0...
function nk (line 74782) | function nk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=Ra;Ra=Ra+...
function ok (line 74782) | function ok(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;l=Ra;Ra...
function pk (line 74782) | function pk(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c...
function gm (line 74783) | function gm(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0...
function hm (line 74783) | function hm(f,g,h,i,j,k,l){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var...
function im (line 74783) | function im(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0...
function jm (line 74783) | function jm(d,f,g,h,i,j){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0...
function km (line 74783) | function km(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,l=0,m=0...
function lm (line 74783) | function lm(d,e){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...
function mm (line 74783) | function mm(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;if((a[d>>0]|0)==44)...
function nm (line 74783) | function nm(d,e){d=d|0;e=e|0;d=c[d+24>>2]|0;if(bk(0,e,c[d>>2]|0,c[d+4>>2...
function om (line 74783) | function om(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,n=0,o=0...
function pm (line 74783) | function pm(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...
function qm (line 74783) | function qm(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...
function rm (line 74783) | function rm(d){d=d|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...
function sm (line 74783) | function sm(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0...
function tm (line 74783) | function tm(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,l=0,m=0...
function um (line 74783) | function um(d,f,g,h,i,j){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0...
function vm (line 74783) | function vm(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...
function wm (line 74783) | function wm(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0...
function xm (line 74783) | function xm(a,b,c){a=a|0;b=b|0;c=c|0;return}
function ym (line 74783) | function ym(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...
function zm (line 74783) | function zm(d,f,g,h,i,j,k){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var...
function Am (line 74783) | function Am(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;m=R...
function Bm (line 74783) | function Bm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=c[b+24>>2]|0;a:do if(...
function Cm (line 74783) | function Cm(f,g){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...
function Dm (line 74783) | function Dm(a,b){a=a|0;b=b|0;b=a+16|0;c[b>>2]=(c[b>>2]|0)+1;return 0}
function Em (line 74783) | function Em(a,b){a=a|0;b=b|0;b=a+16|0;c[b>>2]=(c[b>>2]|0)+-1;return}
function Fm (line 74783) | function Fm(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;l=R...
function Gm (line 74783) | function Gm(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,l=0,m=0...
function Hm (line 74783) | function Hm(f,g,h,i,j,k,l,m){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m...
function Im (line 74783) | function Im(f,g,h,i,j,k,l,m,n,o,p){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l...
function Jm (line 74783) | function Jm(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...
function Km (line 74783) | function Km(e,f){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...
function Lm (line 74783) | function Lm(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0...
function Mm (line 74783) | function Mm(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0...
function Nm (line 74783) | function Nm(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0...
function Om (line 74783) | function Om(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0...
function Pm (line 74783) | function Pm(f,g,h,i,j,k,l,m,n){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0...
function Qm (line 74783) | function Qm(f,g,h,i,j,k,l,m){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m...
function Rm (line 74783) | function Rm(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0...
function Sm (line 74784) | function Sm(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...
function Tm (line 74784) | function Tm(f,g,h,i,j,k,l,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k...
function Um (line 74784) | function Um(f,g,h,i,j,k,l,m,n){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0...
function Vm (line 74784) | function Vm(d,e){d=d|0;e=e|0;if((a[e>>0]|0)!=-94)return 0;e=b[e+32>>1]|0...
function Wm (line 74784) | function Wm(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;if(!(c[g+36...
function Xm (line 74784) | function Xm(f,g){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...
function Ym (line 74784) | function Ym(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;b=c...
function Zm (line 74784) | function Zm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Ra;Ra=Ra+16|0;g=i...
function _m (line 74784) | function _m(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;i=R...
function $m (line 74784) | function $m(e,f,g){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...
function an (line 74784) | function an(b,f,g,h,i){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0...
function bn (line 74784) | function bn(f,g,h){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...
function cn (line 74784) | function cn(f,g,h,i,j,k,l){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var...
function dn (line 74784) | function dn(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...
function en (line 74784) | function en(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;do if(d){i=c[d+4>>2...
function fn (line 74784) | function fn(e,f,g){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...
function gn (line 74784) | function gn(e,f,g){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...
function hn (line 74784) | function hn(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0...
function jn (line 74784) | function jn(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0...
function kn (line 74784) | function kn(d,f,h){d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function ln (line 74784) | function ln(a){a=a|0;var b=0,d=0;b=c[a+56>>2]|0;if(!a)return;if(b|0){if(...
function mn (line 74784) | function mn(b,d,f){b=b|0;d=d|0;f=f|0;var h=0,i=0,j=0;j=mc(c[f>>2]|0)|0;b...
function nn (line 74784) | function nn(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...
function on (line 74784) | function on(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Ra;Ra=Ra+...
function pn (line 74784) | function pn(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=Ra;Ra=Ra+32|0;h=k;i=h...
function qn (line 74784) | function qn(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0;e=c[f>>2]|0;if(!e)retur...
function rn (line 74784) | function rn(b,d,f){b=b|0;d=d|0;f=f|0;d=c[f>>2]|0;f=e[d+8>>1]|0;do if(!(f...
function sn (line 74784) | function sn(a,b,d){a=a|0;b=b|0;d=d|0;if((yc(c[a>>2]|0,31142,-1,1,0)|0)!=...
function tn (line 74784) | function tn(e,f,g){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...
function un (line 74784) | function un(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=((c[(c[a+...
function vn (line 74784) | function vn(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=c[f>>2]|0...
function wn (line 74784) | function wn(a){a=a|0;var d=0,e=0,f=0;d=c[a+8>>2]|0;if(!(b[d+8>>1]&8192))...
function xn (line 74784) | function xn(a){a=a|0;var d=0;d=c[a+8>>2]|0;if(!(b[d+8>>1]&8192))d=Ic(a,0...
function yn (line 74784) | function yn(a,e,f){a=a|0;e=e|0;f=f|0;if((yc(c[a>>2]|0,c[21712+((d[816+(b...
function zn (line 74784) | function zn(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=c[f>>2]|0;e=b[g+8...
function An (line 74784) | function An(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...
function Bn (line 74784) | function Bn(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...
function Cn (line 74784) | function Cn(e,f,g){e=e|0;f=f|0;g=g|0;var h=0;f=c[g>>2]|0;if(!f)return;g=...
function Dn (line 74784) | function Dn(d,f,h){d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function En (line 74784) | function En(d,e,f){d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,l=0;l=Ra;Ra=R...
function Fn (line 74784) | function Fn(d,e,f){d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0,k=0,l=0,m=0,n=0;n...
function Gn (line 74784) | function Gn(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=c[f>>2]|0;e=b...
function Hn (line 74784) | function Hn(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;h=c[g>>2]|0;f=b...
function In (line 74784) | function In(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=mc(c[g>>2...
function Jn (line 74784) | function Jn(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=Ra;Ra=Ra+16|0;d=h...
function Kn (line 74784) | function Kn(d,f,h){d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0;f=c[h>>2]|0;h=e[f+8...
function Ln (line 74784) | function Ln(a,b,d){a=a|0;b=b|0;d=d|0;if(!(Tg(c[d>>2]|0,c[d+4>>2]|0,c[(c[...
function Mn (line 74784) | function Mn(a,b,d){a=a|0;b=b|0;d=d|0;if((yc(c[a>>2]|0,31497,-1,1,0)|0)!=...
function Nn (line 74784) | function Nn(d,f,h){d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0;k=Ra;Ra=Ra+16|0;j=k...
function On (line 74784) | function On(e,f,h){e=e|0;f=f|0;h=h|0;var i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p...
function Pn (line 74784) | function Pn(a,d,e){a=a|0;d=d|0;e=e|0;var f=0;e=c[a>>2]|0;a=(c[e+32>>2]|0...
function Qn (line 74784) | function Qn(a,d,e){a=a|0;d=d|0;e=e|0;var f=0;d=c[a>>2]|0;e=c[(c[d+32>>2]...
function Rn (line 74784) | function Rn(a,d,e){a=a|0;d=d|0;e=e|0;var f=0;d=c[a>>2]|0;e=c[(c[d+32>>2]...
function Sn (line 74784) | function Sn(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...
function Tn (line 74784) | function Tn(d,f,h){d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0;f=c[h>>2]|0;h=e[f+8...
function Un (line 74784) | function Un(d,f,h){d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function Vn (line 74784) | function Vn(f,h,i){f=f|0;h=h|0;i=i|0;var j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q...
function Wn (line 74784) | function Wn(d){d=d|0;var e=0,f=0,h=0,i=0.0,j=0,k=0,l=0;j=Ra;Ra=Ra+16|0;f...
function Xn (line 74784) | function Xn(f,h,i){f=f|0;h=h|0;i=i|0;var j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q...
function Yn (line 74784) | function Yn(a){a=a|0;var d=0,e=0.0,f=0,h=0,i=0;i=Ra;Ra=Ra+16|0;f=i+8|0;h...
function Zn (line 74784) | function Zn(a){a=a|0;var d=0,e=0,f=0,h=0.0,i=0,j=0,k=0;k=Ra;Ra=Ra+16|0;i...
function _n (line 74784) | function _n(a,d,e){a=a|0;d=d|0;e=e|0;var f=0;f=c[a+8>>2]|0;if(!(b[f+8>>1...
function $n (line 74784) | function $n(a){a=a|0;var d=0,e=0,f=0;d=c[a+8>>2]|0;if(!(b[d+8>>1]&8192))...
function ao (line 74784) | function ao(a,d,e){a=a|0;d=d|0;e=e|0;var f=0;f=c[a+8>>2]|0;if(!(b[f+8>>1...
function bo (line 74784) | function bo(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if(-1431655...
function co (line 74784) | function co(d){d=d|0;var e=0,f=0,g=0;e=c[d+8>>2]|0;if(!(b[e+8>>1]&8192))...
function eo (line 74784) | function eo(d){d=d|0;var e=0,f=0;e=c[d+8>>2]|0;if(!(b[e+8>>1]&8192))e=Ic...
function fo (line 74784) | function fo(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if(-1431655...
function go (line 74784) | function go(f,h,i){f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0...
function oe (line 74785) | function oe(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,l=0,m=0...
function pe (line 74785) | function pe(a){a=a|0;return}
function qe (line 74785) | function qe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=a+36|0;f=c[e>>2]|...
function re (line 74785) | function re(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=0;return 0}
function se (line 74785) | function se(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}
function te (line 74785) | function te(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=Ra;Ra=Ra+192|0;i=...
function ue (line 74785) | function ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ra;Ra=Ra+16|0;f=e;c[f...
function ve (line 74785) | function ve(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=Ra;Ra=Ra+...
function we (line 74785) | function we(){return Ka(30)|0}
function xe (line 74785) | function xe(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...
function ye (line 74785) | function ye(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;k=R...
function ze (line 74785) | function ze(d,e){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...
function Ae (line 74785) | function Ae(a){a=a|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=R...
function Be (line 74785) | function Be(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=Ra;Ra=Ra+32|0;e=f;b=a...
function Ce (line 74785) | function Ce(a,b){a=a|0;b=b|0;return 0}
function De (line 74785) | function De(a,b){a=a|0;b=b|0;return 0}
function Ee (line 74785) | function Ee(a,b){a=a|0;b=b|0;c[b>>2]=0;return 0}
function Fe (line 74785) | function Fe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=Ra;Ra=Ra+32|0;f=g;e=b...
function Ge (line 74785) | function Ge(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+24>>2]|0;f=b+16|0;if(a[f>...
function He (line 74785) | function He(b,e){b=b|0;e=e|0;var f=0,g=0;f=c[b+24>>2]|0;g=b+16|0;if((d[g...
function Ie (line 74785) | function Ie(a,b){a=a|0;b=b|0;a=(Xa[c[2364>>2]&255](c[a+24>>2]|0,0)|0)==0...
function Je (line 74785) | function Je(a,b){a=a|0;b=b|0;return 29744}
function Ke (line 74785) | function Ke(a,b){a=a|0;b=b|0;return 29820}
function Le (line 74785) | function Le(a,b){a=a|0;b=b|0;var d=0;if((b|0)==3082)return;if((b&251|4|0...
function Me (line 74785) | function Me(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Ra;Ra=Ra+96|0;h=f...
function Ne (line 74785) | function Ne(a,d){a=a|0;d=d|0;var e=0,f=0;e=c[a+260>>2]|0;do if(e|0){f=e+...
function Oe (line 74785) | function Oe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Ra;Ra=Ra+16|0;d=h+4|0;f=c...
function Pe (line 74785) | function Pe(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0...
function Qe (line 74785) | function Qe(d){d=d|0;var e=0;e=c[d+8>>2]|0;if(!(a[e>>0]|0))return;a[e>>0...
function Re (line 74785) | function Re(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b+4>>2]|0;b=c[(c[b>>2]|0)+6...
function Se (line 74785) | function Se(e,f,g){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...
function Te (line 74785) | function Te(b,e){b=b|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...
function Ue (line 74785) | function Ue(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=d+40|0;if(c[h>>2]...
function Ve (line 74785) | function Ve(b){b=b|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...
function We (line 74785) | function We(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...
function Xe (line 74785) | function Xe(d,e){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...
function Ye (line 74785) | function Ye(e,f){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...
function Ze (line 74785) | function Ze(a){a=a|0;var b=0,d=0,e=0;d=a+16|0;a=c[d>>2]|0;if(!a){c[d>>2]...
function _e (line 74785) | function _e(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...
function $e (line 74785) | function $e(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...
function af (line 74785) | function af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if(!((b|0)==0&(d|0)==0)...
function bf (line 74785) | function bf(a,b){a=a|0;b=b|0;return 0}
function cf (line 74785) | function cf(a,b){a=a|0;b=b|0;var d=0;d=a+24|0;a=c[d+4>>2]|0;c[b>>2]=c[d>...
function df (line 74785) | function df(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!b){...
function ef (line 74785) | function ef(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...
function ff (line 74785) | function ff(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...
function gf (line 74785) | function gf(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0...
function hf (line 74785) | function hf(e,f){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...
function jf (line 74785) | function jf(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Ra;Ra=Ra+...
function kf (line 74785) | function kf(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;h=b+24|...
function lf (line 74785) | function lf(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...
function mf (line 74785) | function mf(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;j=b...
function nf (line 74785) | function nf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;do{e=a+28|0;switch(c[e>...
function of (line 74785) | function of(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...
function pf (line 74785) | function pf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[d>>2]=0;return c[a+40>>2]|0}
function qf (line 74785) | function qf(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,l=0,m=0...
function rf (line 74785) | function rf(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=Ra;Ra...
function sf (line 74785) | function sf(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=f+4|0;h=c[g>>...
function tf (line 74785) | function tf(b){b=b|0;var e=0,f=0,g=0;g=b+16|0;f=a[g>>0]|0;if(f<<24>>24==...
function uf (line 74785) | function uf(e,f,g){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...
function vf (line 74785) | function vf(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=d+56|0;yf(c[g...
function wf (line 74785) | function wf(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...
function xf (line 74785) | function xf(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...
function yf (line 74785) | function yf(a){a=a|0;var b=0,d=0;if(!a)return;if(c[a+8>>2]|0){d=a+12|0;b...
function zf (line 74785) | function zf(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0...
function Af (line 74785) | function Af(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,j=0...
function Bf (line 74785) | function Bf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=d+212|0;h=Ya[...
function Cf (line 74785) | function Cf(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...
function Df (line 74785) | function Df(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;k=c[d+1...
function Ef (line 74785) | function Ef(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...
function Ff (line 74785) | function Ff(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=d+100|0;c[e>>...
function Gf (line 74785) | function Gf(e){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...
function Hf (line 74785) | function Hf(f){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...
function If (line 74785) | function If(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0;i=f+(d[b+10>>0]|0)|0;j=...
function Jf (line 74785) | function Jf(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a...
function Kf (line 74785) | function Kf(b,c){b=b|0;c=c|0;var d=0;b=4;do{d=b;b=b+1|0}while((a[c+d>>0]...
function Lf (line 74785) | function Lf(a,d,e){a=a|0;d=d|0;e=e|0;d=((Of(d+4|0,e)|0)&255)+4&65535;b[e...
function Mf (line 74785) | function Mf(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=f+(d[e+10>>0]...
function Nf (line 74785) | function Nf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=d&65535;e...
function Of (line 74785) | function Of(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=a[b>>0]|0...
function Pf (line 74785) | function Pf(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...
function Qf (line 74785) | function Qf(f,g,h,i,j,k,l,m,n,o){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l...
function Rf (line 74785) | function Rf(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=e+44|...
function Sf (line 74785) | function Sf(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...
function Tf (line 74785) | function Tf(a){a=a|0;var b=0,d=0,e=0;d=a+80|0;a=c[d>>2]|0;if(!a)return;b...
function Uf (line 74785) | function Uf(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...
function Vf (line 74785) | function Vf(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...
function Wf (line 74785) | function Wf(e){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...
function Zc (line 74786) | function Zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!d){i=0;return i...
function _c (line 74786) | function _c(f,h){f=f|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...
function $c (line 74786) | function $c(e){e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Ra;Ra=Ra+16|0;j=m...
function ad (line 74786) | function ad(f,g,h,i,j,k,l,m){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m...
function bd (line 74786) | function bd(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0...
function cd (line 74786) | function cd(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...
function dd (line 74786) | function dd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=Ra;Ra=Ra+112|...
function ed (line 74786) | function ed(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...
function fd (line 74786) | function fd(b,d){b=b|0;d=d|0;var e=0,f=0;e=1<<d;f=b+152|0;c[f>>2]=c[f>>2...
function gd (line 74786) | function gd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=c[b>>2]|0...
function hd (line 74786) | function hd(f,g){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...
function id (line 74786) | function id(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0...
function jd (line 74786) | function jd(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...
function kd (line 74786) | function kd(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;if(!(a[b>>0]|0)){e=cg(b,c,d...
function ld (line 74786) | function ld(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=Ra;Ra...
function md (line 74786) | function md(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0...
function nd (line 74786) | function nd(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0...
function od (line 74786) | function od(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return qd(a,b,c,128...
function pd (line 74786) | function pd(d){d=d|0;var e=0,f=0,g=0,h=0,i=0;i=Ra;Ra=Ra+32|0;g=i+8|0;f=i...
function qd (line 74786) | function qd(f,g,h,i,j,k,l){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var...
function rd (line 74786) | function rd(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...
function sd (line 74786) | function sd(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...
function td (line 74786) | function td(e,f){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...
function ud (line 74786) | function ud(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...
function vd (line 74786) | function vd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=Ra;Ra=Ra+48|0...
function wd (line 74786) | function wd(d){d=d|0;var f=0,g=0,h=0;a:do if(!d)f=ob(40,0)|0;else{if(c[d...
function xd (line 74786) | function xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Ra;Ra=Ra+48|0;g=h...
function yd (line 74786) | function yd(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...
function zd (line 74786) | function zd(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,l=0,m=0...
function Ad (line 74786) | function Ad(a){a=a|0;return c[a+100>>2]|0}
function Bd (line 74786) | function Bd(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...
function Cd (line 74786) | function Cd(a){a=a|0;return Bd(a,1)|0}
function Dd (line 74786) | function Dd(a,b,d){a=a|0;b=b|0;d=d|0;if(((b*1e3|0)+1e3|0)>(c[a+448>>2]|0...
function Ed (line 74786) | function Ed(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...
function Fd (line 74786) | function Fd(a,b,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h...
function Gd (line 74786) | function Gd(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...
function Hd (line 74786) | function Hd(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j...
function Id (line 74786) | function Id(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=Ra;Ra...
function Jd (line 74786) | function Jd(b,f,g,h,i){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0...
function Kd (line 74786) | function Kd(a,b,d){a=a|0;b=b|0;d=d|0;d=Ra;Ra=Ra+16|0;b=d;c[b>>2]=c[(c[a+...
function Ld (line 74786) | function Ld(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)>(d|0))return 0;Md(...
function Md (line 74786) | function Md(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...
function Nd (line 74786) | function Nd(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...
function Od (line 74786) | function Od(a,b){a=a|0;b=b|0;return Pd(a,b,6,0)|0}
function Pd (line 74786) | function Pd(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...
function Qd (line 74786) | function Qd(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0...
function Rd (line 74786) | function Rd(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0...
function Sd (line 74786) | function Sd(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...
function Td (line 74786) | function Td(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if(e){j=c[b+20>...
function Ud (line 74786) | function Ud(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;c...
function Vd (line 74786) | function Vd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if((a[b>>0]|0)!...
function Wd (line 74786) | function Wd(b){b=b|0;var c=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0...
function Xd (line 74786) | function Xd(a,b){a=a|0;b=b|0;var d=0;if(((a|0)!=0?(d=b,(c[a+304>>2]|0)>>...
function Yd (line 74786) | function Yd(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0;if(c[b+272>>2]|0){if(a[...
function Zd (line 74786) | function Zd(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,l=0,m=0...
function _d (line 74786) | function _d(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Sv(d|0,e|0,-1,-1)|0;e...
function $d (line 74786) | function $d(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;g=c[b>>2]|0;k=b+16|...
function ae (line 74786) | function ae(a,b){a=a|0;b=b|0;return 29668}
function be (line 74786) | function be(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=R...
function ce (line 74786) | function ce(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...
function de (line 74786) | function de(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...
function ee (line 74786) | function ee(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=Ra;Ra...
function fe (line 74786) | function fe(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=Ra;Ra=Ra+48|0;g=h+24|...
function ge (line 74786) | function ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=Ra;Ra=Ra+80|0;d=e;if(!(Xa...
function he (line 74786) | function he(d,e){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...
function ie (line 74786) | function ie(d,e){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...
function je (line 74786) | function je(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=Ra;Ra=Ra+32|0;h=j...
function ke (line 74786) | function ke(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0...
function le (line 74786) | function le(a){a=a|0;var d=0,e=0;d=a+44|0;e=c[d>>2]|0;if(e|0)return e|0;...
function me (line 74786) | function me(a){a=a|0;var d=0,e=0;d=a+44|0;if(!(c[d>>2]|0)){if(b[a+18>>1]...
function ne (line 74786) | function ne(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0...
function fb (line 74787) | function fb(a){a=a|0;var b=0;b=Ra;Ra=Ra+a|0;Ra=Ra+15&-16;return b|0}
function gb (line 74787) | function gb(){return Ra|0}
function hb (line 74787) | function hb(a){a=a|0;Ra=a}
function ib (line 74787) | function ib(a,b){a=a|0;b=b|0;Ra=a;Sa=b}
function jb (line 74787) | function jb(a){a=a|0;var b=0,d=0,e=0;e=c[a+20>>2]|0;if((e|0)<=0)return;b...
function kb (line 74787) | function kb(d,e){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...
function lb (line 74787) | function lb(a,b){a=a|0;b=b|0;var d=0;if(!b)return;if(a|0){if(c[a+480>>2]...
function mb (line 74787) | function mb(){var b=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=...
function nb (line 74787) | function nb(a){a=a|0;var b=0,d=0,e=0;if((a|0)<1|(mb()|0)!=0){d=0;return ...
function ob (line 74787) | function ob(a,b){a=a|0;b=b|0;var d=0,e=0;d=Sv(a|0,b|0,-1,-1)|0;b=L()|0;i...
function pb (line 74787) | function pb(a,b){a=a|0;b=b|0;var d=0,e=0;d=(mb()|0)!=0;b=Sv(a|0,b|0,-1,-...
function qb (line 74787) | function qb(a){a=a|0;var b=0;if(!a)return;if(!(c[7324]|0)){ab[c[29344>>2...
function rb (line 74787) | function rb(a){a=a|0;return Wa[c[29352>>2]&127](a)|0}
function sb (line 74787) | function sb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if(!a){e=Sv(b|0,d|0...
function tb (line 74787) | function tb(f,h,i){f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q...
function ub (line 74787) | function ub(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+16|0;f=c[e>>2]|...
function vb (line 74787) | function vb(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0...
function wb (line 74787) | function wb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=vb(a,d)|0;if((d|0)<=0)ret...
function xb (line 74787) | function xb(a){a=a|0;if(!a){a=0;return a|0}a=(Eu(a)|0)&1073741823;return...
function yb (line 74787) | function yb(b){b=b|0;var d=0,e=0;d=b+4|0;e=c[d>>2]|0;if((e|0?(a[e+(c[b+1...
function zb (line 74787) | function zb(b){b=b|0;var d=0,e=0,f=0,g=0;if(mb()|0){b=29632;return b|0}i...
function Ab (line 74787) | function Ab(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=Ra;Ra=Ra+96|0...
function Bb (line 74787) | function Bb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Ra;Ra=Ra+...
function Cb (line 74787) | function Cb(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=Ra;Ra=Ra+...
function Db (line 74787) | function Db(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;l=Ra;Ra...
function Eb (line 74787) | function Eb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ra;Ra=Ra+16|0;f=e;c[f...
function Fb (line 74787) | function Fb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=Ra;Ra...
function Gb (line 74787) | function Gb(b,c){b=b|0;c=c|0;var e=0,f=0;if(!b){e=((c|0)!=0)<<31>>31;ret...
function Hb (line 74787) | function Hb(b,c){b=b|0;c=c|0;var e=0,f=0;f=a[b>>0]|0;e=(d[208+(f&255)>>0...
function Ib (line 74787) | function Ib(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!b){g=((c|0)!=0)<<31...
function Jb (line 74787) | function Jb(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...
function Kb (line 74787) | function Kb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Ra;Ra=Ra+80|0...
function Lb (line 74787) | function Lb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=Ra;Ra=Ra+80|0;a=f...
function Mb (line 74787) | function Mb(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...
function Nb (line 74787) | function Nb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=Ra;Ra=Ra+...
function Ob (line 74787) | function Ob(a,b){a=a|0;b=b|0;b=(b+999999|0)/1e6|0;Av(b)|0;return b*1e6|0}
function Pb (line 74787) | function Pb(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,h=0;a=Ra;Ra=Ra+16|0;e=a;D...
function Qb (line 74787) | function Qb(a,b,d){a=a|0;b=b|0;d=d|0;d=uu()|0;return c[d>>2]|0}
function Rb (line 74787) | function Rb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;a=Ra;Ra=Ra+16|0;e=a;Da(e|0,...
function Sb (line 74787) | function Sb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(b|0){do if(Bu(b,c[584]|0...
function Tb (line 74787) | function Tb(a,b){a=a|0;b=b|0;do if(Bu(b,c[584]|0)|0)if(Bu(b,c[587]|0)|0)...
function Ub (line 74787) | function Ub(a,b){a=a|0;b=b|0;var d=0;do if(b)if(Bu(b,c[584]|0)|0)if(Bu(b...
function Vb (line 74787) | function Vb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=Ra;Ra=Ra+...
function Wb (line 74787) | function Wb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=Sv(a|0,b|0,-1,-1)|0;d=L()...
function Xb (line 74787) | function Xb(a,b){a=a|0;b=b|0;c[a+64>>2]=b;if(b|0){Ne(a,b);return}if(!(c[...
function Yb (line 74787) | function Yb(d,e){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...
function Zb (line 74787) | function Zb(e,f,g){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...
function _b (line 74787) | function _b(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,l=0,m=0...
function $b (line 74787) | function $b(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+20|0;e=c[i>>2]|...
function ac (line 74787) | function ac(e,f,g){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...
function bc (line 74787) | function bc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=a[b+8>>0]...
function cc (line 74787) | function cc(e,f){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...
function dc (line 74787) | function dc(a){a=a|0;var b=0,d=0,e=0;if(!a){e=0;return e|0}e=c[a+20>>2]|...
function ec (line 74787) | function ec(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=Ra;Ra=Ra+...
function fc (line 74787) | function fc(e){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...
function gc (line 74787) | function gc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Ra;Ra=Ra+...
function hc (line 74787) | function hc(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0.0;k=Ra;Ra=R...
function ic (line 74787) | function ic(b,d){b=b|0;d=d|0;if((d|0)==3082|(a[b+81>>0]|0)!=0){og(b);d=7...
function jc (line 74787) | function jc(b){b=b|0;var d=0,e=0,f=0;if(!b){e=0;return e|0}e=c[b>>2]|0;d...
function kc (line 74787) | function kc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;h=Ra;Ra=Ra+16|0;f=h;g=c[b>>...
function lc (line 74787) | function lc(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+16|0;f=b[k>>1]|...
function mc (line 74787) | function mc(d){d=d|0;var e=0,f=0,g=0,h=0,i=0;i=d+8|0;f=b[i>>1]|0;e=f&655...
function nc (line 74787) | function nc(d){d=d|0;var e=0;if(!d){e=0;return e|0}e=b[d+8>>1]|0;if((e&5...
function oc (line 74787) | function oc(d){d=d|0;var e=0,f=0;e=b[d+8>>1]|0;if(e&2?(a[d+10>>0]|0)==1:...
function pc (line 74787) | function pc(b){b=b|0;var d=0,f=0.0;d=e[b+8>>1]|0;if(d&8|0){f=+g[b>>3];re...
function qc (line 74787) | function qc(b){b=b|0;var d=0;d=e[b+8>>1]|0;if(d&4|0){d=c[b>>2]|0;return ...
function rc (line 74787) | function rc(b){b=b|0;var d=0;d=e[b+8>>1]|0;if(d&4|0){d=b;b=c[d+4>>2]|0;d...
function sc (line 74787) | function sc(a){a=a|0;return d[816+(b[a+8>>1]&31)>>0]|0|0}
function tc (line 74787) | function tc(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!a){i=0;return i|0}i...
function uc (line 74787) | function uc(a){a=a|0;var d=0,e=0;if(!a)return;if(!((b[a+8>>1]&9216)==0?!...
function vc (line 74787) | function vc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((yc(c[a>>2]|0,b,d,0,e)|0...
function wc (line 74787) | function wc(a,d){a=a|0;d=+d;var e=0,f=0,h=0,i=0;i=Ra;Ra=Ra+16|0;f=i+8|0;...
function xc (line 74787) | function xc(a,b,d){a=a|0;b=b|0;d=d|0;c[a+20>>2]=1;yc(c[a>>2]|0,b,d,1,-1)...
function yc (line 74787) | function yc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0...
function zc (line 74787) | function zc(a,d){a=a|0;d=d|0;var e=0,f=0;a=c[a>>2]|0;e=((d|0)<0)<<31>>31...
function Ac (line 74787) | function Ac(a,d,e){a=a|0;d=d|0;e=e|0;var f=0;a=c[a>>2]|0;f=a+8|0;if(!(b[...
function Bc (line 74787) | function Bc(a){a=a|0;var d=0;a=c[a>>2]|0;d=a+8|0;if(!(b[d>>1]&9216)){b[d...
function Cc (line 74787) | function Cc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((yc(c[a>>2]|0,b,d,1,e)|0...
function Dc (line 74787) | function Dc(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;f=c[a>>2]|0;g=f+8|0;if(...
function Ec (line 74787) | function Ec(d){d=d|0;var e=0,f=0;e=c[d>>2]|0;f=e+8|0;if(!(b[f>>1]&9216))...
function Fc (line 74787) | function Fc(b){b=b|0;var d=0;d=b+81|0;if(a[d>>0]|0)return;if(a[b+82>>0]|...
function Gc (line 74787) | function Gc(f){f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,u=0...
function Hc (line 74787) | function Hc(a,d){a=a|0;d=d|0;var e=0;e=c[a+8>>2]|0;if(!(b[e+8>>1]&8192))...
function Ic (line 74787) | function Ic(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=c[a+8>>2]|0;if((d|0)<...
function Jc (line 74787) | function Jc(a){a=a|0;if(!a){a=0;return a|0}if(!(c[a+120>>2]|0)){a=0;retu...
function Kc (line 74787) | function Kc(b,d){b=b|0;d=d|0;var f=0,g=0;if(!b){g=mc(29576)|0;return g|0...
function Lc (line 74787) | function Lc(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0;j=(d|0)==0;do if(j)h=29...
function Mc (line 74787) | function Mc(b,d){b=b|0;d=d|0;var f=0,h=0,i=0.0;h=(b|0)==0;do if(h)d=2957...
function Nc (line 74787) | function Nc(b,d){b=b|0;d=d|0;var f=0,h=0,i=0;h=(b|0)==0;do if(h)d=29576;...
function Oc (line 74787) | function Oc(b,d){b=b|0;d=d|0;var f=0,h=0,i=0,j=0;h=(b|0)==0;do if(h)d=29...
function Pc (line 74787) | function Pc(d,f){d=d|0;f=f|0;var g=0,h=0,i=0;h=(d|0)==0;do if(h)f=29576;...
function Qc (line 74787) | function Qc(f,g){f=f|0;g=g|0;var h=0,i=0,j=0;i=(f|0)==0;do if(i)g=29576;...
function Rc (line 74787) | function Rc(d,f){d=d|0;f=f|0;var g=0,h=0,i=0;i=c[d>>2]|0;if(!d){i=0;retu...
function Sc (line 74787) | function Sc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=Vc(b,d)|0...
function Tc (line 74787) | function Tc(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0...
function Uc (line 74787) | function Uc(a,d,e){a=a|0;d=d|0;e=+e;var f=0,h=0,i=0,j=0,k=0;j=Ra;Ra=Ra+1...
function Vc (line 74787) | function Vc(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=Ra;Ra=Ra+64|0...
function Wc (line 74787) | function Wc(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=((e|0)<0)<<31>>31...
function Xc (line 74787) | function Xc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Tc(a,b,c,d,e...
function Yc (line 74787) | function Yc(d,e,f){d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o...
function ho (line 74788) | function ho(f,h,i){f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0...
function io (line 74788) | function io(f,h,i){f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0...
function jo (line 74788) | function jo(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=c[d+24>>2]|0;swit...
function ko (line 74788) | function ko(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=Ra;Ra=Ra+...
function lo (line 74788) | function lo(d,f){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...
function mo (line 74788) | function mo(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...
function no (line 74788) | function no(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...
function oo (line 74788) | function oo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[b+12>>2...
function po (line 74788) | function po(b,f,g,h,i){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0...
function qo (line 74788) | function qo(b){b=b|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...
function ro (line 74788) | function ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!b)return;e=...
function so (line 74788) | function so(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=c[b+24>>2]|0;if((a[d>...
function to (line 74788) | function to(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...
function uo (line 74788) | function uo(a,d,e){a=a|0;d=d|0;e=e|0;var f=0;d=c[a+8>>2]|0;if(!(b[d+8>>1...
function vo (line 74788) | function vo(a){a=a|0;var d=0,e=0,f=0;d=c[a+8>>2]|0;if(!(b[d+8>>1]&8192))...
function wo (line 74788) | function wo(a,d,e){a=a|0;d=d|0;e=e|0;d=c[a+8>>2]|0;if(!(b[d+8>>1]&8192))...
function xo (line 74788) | function xo(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;d=c[a+8>>2]|0;if(!(b[d+8>>1...
function yo (line 74788) | function yo(a,d,e){a=a|0;d=d|0;e=e|0;var f=0;d=c[a+8>>2]|0;if(!(b[d+8>>1...
function zo (line 74788) | function zo(a){a=a|0;var d=0,e=0,f=0,g=0;d=c[a+8>>2]|0;if(!(b[d+8>>1]&81...
function Ao (line 74788) | function Ao(a,d,e){a=a|0;d=d|0;e=e|0;d=c[a+8>>2]|0;if(!(b[d+8>>1]&8192))...
function Bo (line 74788) | function Bo(a){a=a|0;var d=0,e=0,f=0.0,h=0,i=0,j=0,k=0,l=0;l=Ra;Ra=Ra+16...
function Co (line 74788) | function Co(a,d,e){a=a|0;d=d|0;e=e|0;d=c[a+8>>2]|0;if(!(b[d+8>>1]&8192))...
function Do (line 74788) | function Do(a,d,e){a=a|0;d=d|0;e=e|0;d=c[a+8>>2]|0;if(!(b[d+8>>1]&8192))...
function Eo (line 74788) | function Eo(a){a=a|0;var d=0,e=0.0,f=0,h=0,i=0,j=0;i=Ra;Ra=Ra+16|0;f=i+8...
function Fo (line 74788) | function Fo(a,d,e){a=a|0;d=d|0;e=e|0;d=c[a+8>>2]|0;if(!(b[d+8>>1]&8192))...
function Go (line 74788) | function Go(d,f,h){d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0;f=c[d+8>>2]|0;i...
function Ho (line 74788) | function Ho(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,n=0;d=c...
function Io (line 74788) | function Io(a,d,e){a=a|0;d=d|0;e=e|0;d=c[a+8>>2]|0;if(!(b[d+8>>1]&8192))...
function Jo (line 74788) | function Jo(d,e,f){d=d|0;e=e|0;f=f|0;e=c[d+8>>2]|0;if(!(b[e+8>>1]&8192))...
function Ko (line 74788) | function Ko(a){a=a|0;var d=0,e=0;d=c[a+8>>2]|0;if(!(b[d+8>>1]&8192))d=Ic...
function Lo (line 74788) | function Lo(a){a=a|0;var d=0;d=c[a+8>>2]|0;if(!(b[d+8>>1]&8192))d=Ic(a,0...
function Mo (line 74788) | function Mo(a,d,e){a=a|0;d=d|0;e=e|0;d=c[a+8>>2]|0;if(!(b[d+8>>1]&8192))...
function No (line 74788) | function No(f,h,i){f=f|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q...
function Oo (line 74788) | function Oo(a){a=a|0;var d=0,e=0;d=c[a+8>>2]|0;if(!(b[d+8>>1]&8192))d=Ic...
function Po (line 74788) | function Po(a){a=a|0;return}
function Qo (line 74788) | function Qo(d,e,f){d=d|0;e=e|0;f=f|0;e=c[d+8>>2]|0;if(!(b[e+8>>1]&8192))...
function Ro (line 74788) | function Ro(a){a=a|0;var d=0,e=0;d=c[a+8>>2]|0;if(!(b[d+8>>1]&8192))d=Ic...
function So (line 74788) | function So(d,e,f){d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o...
function To (line 74788) | 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;k=Ra;Ra...
function Uo (line 74788) | function Uo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n...
function Vo (line 74788) | function Vo(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;i=R...
function Wo (line 74788) | function Wo(d,f,h){d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p...
function Xo (line 74788) | function Xo(a,b,c){a=a|0;b=b|0;c=c|0;Uo(a,0,0);return}
function Yo (line 74788) | function Yo(a,b,c){a=a|0;b=b|0;c=c|0;Vo(a,0,0);return}
function Zo (line 74788) | function Zo(a,b,c){a=a|0;b=b|0;c=c|0;To(a,0,0);return}
function _o (line 74788) | function _o(e,f,h,i){e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0.0,n=0,o...
function $o (line 74788) | function $o(b){b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0;j=b+40|0;if(a...
function ap (line 74788) | function ap(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0...
function bp (line 74788) | function bp(e,f,g){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...
function cp (line 74788) | function cp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0...
function dp (line 74788) | function dp(b){b=b|0;var d=0,e=0,f=0,h=0,i=0.0;d=b+42|0;if(!(a[d>>0]|0))...
function ep (line 74788) | function ep(a){a=a|0;var b=0,d=0,e=0;e=Ra;Ra=Ra+16|0;d=e;b=lu(a+8|0)|0;i...
function fp (line 74788) | function fp(a){a=a|0;mu(a+-8|0);return}
function gp (line 74788) | function gp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Ra;Ra=Ra+16|0;e=f;a=a+-8|...
function hp (line 74788) | function hp(a){a=a|0;return c[a+-8>>2]|0}
function ip (line 74788) | function ip(a){a=a|0;return a+7&-8|0}
function jp (line 74788) | function jp(a){a=a|0;return 0}
function kp (line 74788) | function kp(a){a=a|0;return}
function lp (line 74788) | function lp(a){a=a|0;var b=0;a=59188;b=a+100|0;do{c[a>>2]=0;a=a+4|0}whil...
function mp (line 74788) | function mp(a){a=a|0;var b=0;a=59188;b=a+100|0;do{c[a>>2]=0;a=a+4|0}whil...
function np (line 74788) | function np(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=((c[14811...
function op (line 74788) | function op(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!(c[a+20>>2]|0))retu...
function pp (line 74788) | function pp(a){a=a|0;return c[a+48>>2]|0}
function qp (line 74788) | function qp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[(c[a+56>>2]|0)+(((b...
function rp (line 74788) | function rp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[a>>2]|0;if((d|0)==0...
function sp (line 74788) | function sp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c[a+52>>2...
function tp (line 74788) | function tp(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...
function up (line 74788) | function up(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=c...
function vp (line 74788) | function vp(a){a=a|0;var b=0,d=0;if(!(c[a+20>>2]|0))return;b=(c[a>>2]|0)...
function wp (line 74788) | function wp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=a+52|0;h=...
function xp (line 74788) | function xp(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=c[a>>2]|0;d=f+48|0;e=...
function yp (line 74788) | function yp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+20>>2]|0;d=(c[f+5...
function zp (line 74788) | function zp(a){a=a|0;var d=0,e=0;e=c[a+20>>2]|0;a:do if(!(b[a+12>>1]|0))...
function Ap (line 74788) | function Ap(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...
function Bp (line 74788) | function Bp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;jb(a);g=a+20|0;if((c[g>...
function Cp (line 74788) | function Cp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;b=b+64|0;d=c[b>>2]|0;if(!d)...
function Dp (line 74788) | function Dp(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0...
function Ep (line 74788) | function Ep(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...
function Fp (line 74788) | function Fp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;e=b+8|0;d=c[e>>2]|0;c[e>>2]...
function Gp (line 74788) | function Gp(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;if(mb()...
function Hp (line 74788) | function Hp(a){a=a|0;var b=0,d=0;if(!a)return 0;b=c[a+12>>2]|0;do if(b|0...
function Ip (line 74788) | function Ip(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(mb()|0){...
function Jp (line 74788) | function Jp(a){a=a|0;var b=0,d=0;b=c[a+20>>2]|0;do if(b|0)if(!(c[7324]|0...
function Kp (line 74788) | function Kp(b,f,g,h,i,j){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0...
function Lp (line 74788) | function Lp(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...
function Mp (line 74788) | function Mp(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0...
function Np (line 74788) | function Np(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;i...
function Op (line 74788) | function Op(a){a=a|0;var b=0,d=0;b=c[a+12>>2]|0;gc(c[b+56>>2]|0)|0;gc(c[...
function Pp (line 74788) | function Pp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(mb()|0){b=7;return b|0}i...
function Qp (line 74788) | function Qp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=(c[(c[b>>...
function Rp (line 74788) | function Rp(d,f,h,i,j){d=d|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0...
function Sp (line 74788) | function Sp(b){b=b|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...
function Tp (line 74788) | function Tp(a){a=a|0;return c[a+88>>2]|0}
function Up (line 74788) | function Up(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0;switch(e|0){case 0:{if(...
function Vp (line 74788) | function Vp(a,b){a=a|0;b=b|0;var d=0;d=a+96|0;a=c[d+4>>2]|0;c[b>>2]=c[d>...
function Wp (line 74788) | function Wp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Ra;Ra=Ra+16|0...
function Xp (line 74788) | function Xp(d,f,g,h,i,j,k,l,m){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0...
function Yp (line 74788) | function Yp(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var...
function Zp (line 74788) | function Zp(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a>>2]|0;b=c[b>>2]|0;d=c[e+1...
function _p (line 74788) | function _p(b,c){b=b|0;c=c|0;var d=0;if((c|0)<1){c=Eu(b)|0;if((c|0)<=0){...
function $p (line 74788) | function $p(b,c){b=b|0;c=c|0;var d=0;if((c|0)<=0){d=0;return d|0}d=0;whi...
function aq (line 74788) | function aq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((b|0)==(d|0))a=av(a,c,b)...
function bq (line 74788) | function bq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((b|0)==(d|0))a=Lu(a,c,b)...
function cq (line 74788) | function cq(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...
function dq (line 74788) | function dq(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...
function eq (line 74788) | function eq(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...
function fq (line 74788) | function fq(b,e){b=b|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...
function qk (line 74789) | function qk(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0...
function rk (line 74789) | function rk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a+116>>2]|0;f=(f|0)==0?...
function sk (line 74789) | function sk(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=d+108|0;g=c[i...
function tk (line 74789) | function tk(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,l=0,m=0...
function uk (line 74789) | function uk(b,d){b=b|0;d=d|0;var e=0,f=0;f=Ra;Ra=Ra+16|0;e=f;a:do if(!b)...
function vk (line 74789) | function vk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=Ra;Ra=Ra+...
function wk (line 74789) | function wk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=qj(b,e)|0...
function xk (line 74789) | function xk(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=c[(c[a+12>>2]|0)+4>>2...
function yk (line 74789) | function yk(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=c[d>>2]|0;j=k...
function zk (line 74789) | function zk(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;l=e...
function Ak (line 74789) | 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,k=0,l=0,m=0...
function Bk (line 74789) | function Bk(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0;h=d+108|0;g=c[h>>2]|0;i...
function Ck (line 74789) | function Ck(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=R...
function Dk (line 74789) | function Dk(f,h){f=f|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...
function Ek (line 74789) | function Ek(f,g){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...
function Fk (line 74789) | function Fk(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0...
function Gk (line 74789) | function Gk(b,d,f,g,h,i){b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0...
function Hk (line 74789) | function Hk(b,e){b=b|0;e=e|0;if((a[e>>0]|0)!=-93)return 0;e=e+38|0;a[e>>...
function Ik (line 74789) | function Ik(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...
function Jk (line 74789) | function Jk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;switch(a[d>>0]|0){case ...
function Kk (line 74789) | function Kk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=Ra;Ra=Ra+32|0...
function Lk (line 74789) | function Lk(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...
function Mk (line 74789) | function Mk(a,b){a=a|0;b=b|0;return 0}
function Nk (line 74789) | function Nk(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0...
function Ok (line 74789) | function Ok(f,g){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...
function Pk (line 74789) | function Pk(a,b){a=a|0;b=b|0;var d=0;d=(c[a>>2]|0)+264|0;if(!(c[d>>2]|0)...
function Qk (line 74789) | function Qk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!b)return;d=...
function Rk (line 74789) | function Rk(d,f){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;o=R...
function Sk (line 74789) | function Sk(e,f){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...
function Tk (line 74789) | function Tk(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0...
function Uk (line 74789) | function Uk(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...
function Vk (line 74789) | function Vk(d,e){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...
function Wk (line 74789) | function Wk(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(!d)return;j=e&65...
function Xk (line 74789) | function Xk(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;m=Ra;Ra...
function Yk (line 74789) | function Yk(a,b){a=a|0;b=b|0;return 0}
function Zk (line 74789) | function Zk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=b+8|0;e=c[d>>...
function _k (line 74789) | function _k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!(c[b+4>>2]&16777216...
function $k (line 74789) | function $k(a,b){a=a|0;b=b|0;var d=0;a=c[(c[a>>2]|0)+272>>2]|0;if(!a)ret...
function al (line 74789) | function al(b,e){b=b|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...
function bl (line 74789) | function bl(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...
function cl (line 74789) | function cl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(!b){a=0;return a|0}a:whi...
function dl (line 74789) | function dl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=Ra;Ra=Ra+16|0;h=i...
function el (line 74789) | function el(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l...
function fl (line 74789) | function fl(f,g,h){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...
function gl (line 74789) | function gl(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=f+16|0;g=...
function hl (line 74789) | function hl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[b>>...
function il (line 74789) | function il(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0...
function ls (line 74790) | function ls(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(mb()|0){b=7;return b|0}i...
function ms (line 74790) | function ms(a){a=a|0;var b=0,d=0,e=0;b=a+8|0;d=c[b>>2]|0;if(d|0){Wa[c[(c...
function ns (line 74790) | function ns(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...
function os (line 74790) | function os(a){a=a|0;var b=0,d=0,e=0,f=0;e=c[a>>2]|0;f=a+12|0;c[f>>2]=(c...
function ps (line 74790) | function ps(a){a=a|0;return (c[a+16>>2]|0)==0|0}
function qs (line 74790) | function qs(a,d,e){a=a|0;d=d|0;e=e|0;var f=0;switch(e|0){case 0:{if((yc(...
function rs (line 74790) | function rs(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;c[b>>2]=a;c[b+4>>2]=((a|0)<0...
function ss (line 74790) | function ss(h,i,j){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...
function ts (line 74790) | function ts(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[g>>2]|0;f=b[i+8>>1]...
function us (line 74790) | function us(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...
function vs (line 74790) | function vs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Ra;Ra=Ra+32|0...
function ws (line 74790) | 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;i=Ra;Ra=Ra+...
function xs (line 74790) | function xs(e,g,i,j,k){e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0...
function ys (line 74790) | function ys(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...
function zs (line 74790) | function zs(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0...
function As (line 74790) | function As(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 Ss(a...
function Bs (line 74790) | function Bs(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 Ss(a...
function Cs (line 74790) | function Cs(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function Ds (line 74790) | function Ds(a){a=a|0;Ts(a);return 0}
function Es (line 74790) | function Es(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=Ra;Ra=Ra+32|0;f=g;d=c[b+3...
function Fs (line 74790) | function Fs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(mb()|0){a=7;f=0;c[b>...
function Gs (line 74790) | function Gs(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=c[b>>2]|0;h=b+16|0;d=...
function Hs (line 74790) | function Hs(f,h,i,j,k){f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0...
function Is (line 74790) | function Is(b){b=b|0;var d=0,e=0,f=0,g=0;d=b+6|0;if(!(a[d>>0]|0)){Zs(b);...
function Js (line 74790) | function Js(a){a=a|0;return d[a+4>>0]|0|0}
function Ks (line 74790) | function Ks(i,j,k){i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s...
function Ls (line 74790) | function Ls(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=a[b+5...
function Ms (line 74790) | function Ms(h,i,j,k){h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0.0,p=0,q...
function Ns (line 74790) | function Ns(b){b=b|0;b=b+24|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;return 0}
function Os (line 74790) | function Os(b){b=b|0;var d=0,e=0;a[b+24>>0]=0;d=b+76|0;e=c[d>>2]|0;if(!e...
function Ps (line 74790) | function Ps(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Ra;Ra=Ra+48|0;f=g;h=c...
function Qs (line 74790) | function Qs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=b+24|0;f=a[e>>0]|0;a[e>>0...
function Rs (line 74790) | function Rs(b){b=b|0;var c=0,e=0,f=0,g=0,h=0,i=0;if(!b){h=0;return h|0}h...
function Ss (line 74790) | function Ss(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var...
function Ts (line 74790) | function Ts(b){b=b|0;var d=0,e=0,f=0;d=b+40|0;e=(c[d>>2]|0)+-1|0;c[d>>2]...
function Us (line 74790) | function Us(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!b){b=0;return b|0}f...
function Vs (line 74790) | function Vs(d,e){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;j=e...
function Ws (line 74790) | function Ws(b,e,f){b=b|0;e=+e;f=f|0;var h=0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,...
function Xs (line 74790) | function Xs(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...
function Ys (line 74790) | function Ys(b){b=b|0;var e=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0...
function Zs (line 74790) | function Zs(b){b=b|0;var e=0,f=0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0...
function _s (line 74790) | function _s(d,f){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;o=R...
function $s (line 74790) | function $s(e,f,g){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...
function at (line 74790) | function at(b,e,g,h){b=b|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0...
function bt (l
Copy disabled (too large)
Download .json
Condensed preview — 223 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (33,414K chars).
[
{
"path": ".gitignore",
"chars": 42,
"preview": "node_modules\npackage-lock.json\nlibs/Cesium"
},
{
"path": ".vscode/keybindings.json",
"chars": 442,
"preview": "// Place your key bindings in this file to overwrite the defaults\n[\n\t{\n\t\t\"key\": \"ctrl+l\",\n\t\t\"command\": \"editor.action.de"
},
{
"path": ".vscode/settings.json",
"chars": 609,
"preview": "{\n\t\"workbench.editor.enablePreview\": false,\n\t\"files.associations\": {\n\t\t\"*.vs\": \"cpp\",\n\t\t\"*.fs\": \"cpp\"\n\t},\n\t\"files.trimTr"
},
{
"path": "LICENSE",
"chars": 1570,
"preview": " \n============\n== POTREE ==\n============\n\nhttp://potree.org\n\nCopyright (c) 2011-2020, Markus Schütz\nAll rights reserved."
},
{
"path": "PotreeDesktop.bat",
"chars": 54,
"preview": "start ./node_modules/electron/dist/electron.exe ./main"
},
{
"path": "README.md",
"chars": 1264,
"preview": "\n\n# About\n\nA desktop/portable version of the web-based point cloud viewer [Potree](https://github.com/potree/potree), th"
},
{
"path": "index.html",
"chars": 10482,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n\t<meta charset=\"utf-8\">\n\t<meta name=\"description\" content=\"\">\n\t<meta name=\"autho"
},
{
"path": "libs/MeshLine/LICENSE",
"chars": 1070,
"preview": "MIT License\n\nCopyright (c) 2016 Jaume Sanchez\n\nPermission is hereby granted, free of charge, to any person obtaining a c"
},
{
"path": "libs/MeshLine/README.md",
"chars": 6112,
"preview": "# MeshLine\nMesh replacement for ```THREE.Line```\n\nInstead of using GL_LINE, it uses a strip of triangles billboarded. So"
},
{
"path": "libs/MeshLine/src/THREE.MeshLine.js",
"chars": 13439,
"preview": ";(function() {\n\n\"use strict\";\n\nvar root = this\n\nvar has_require = typeof require !== 'undefined'\n\nvar THREE = root.THREE"
},
{
"path": "libs/PotreeConverter/LICENSE_laszip",
"chars": 1518,
"preview": "--------------------------------------------------------------------------\n\n LICENSE AGREEMENT (for LASzip LiDAR compre"
},
{
"path": "libs/PotreeConverter2/README.md",
"chars": 3699,
"preview": "\r\n# About\r\n\r\nPotreeConverter generates an octree LOD structure for streaming and real-time rendering of massive point cl"
},
{
"path": "libs/PotreeConverter2/licenses/license_brotli.txt",
"chars": 1084,
"preview": "Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.\n\nPermission is hereby granted, free of charge, to any person "
},
{
"path": "libs/PotreeConverter2/licenses/license_json.txt",
"chars": 1095,
"preview": "MIT License \r\n\r\nCopyright (c) 2013-2020 Niels Lohmann\r\n\r\nPermission is hereby granted, free of charge, to any person obt"
},
{
"path": "libs/PotreeConverter2/licenses/license_laszip.txt",
"chars": 26530,
"preview": " GNU LESSER GENERAL PUBLIC LICENSE\n Version 2.1, February 1999\n\n Copyright (C) 19"
},
{
"path": "libs/PotreeConverter2/licenses/license_potree_converter.txt",
"chars": 1266,
"preview": "\nCopyright 2020 Markus Schütz\n\nRedistribution and use in source and binary forms, with or without modification, are perm"
},
{
"path": "libs/ZoomableSlider/ZoomableSlider.css",
"chars": 701,
"preview": "\n.zs_widget{\n\tpadding: 2px;\n\theight: 30px;\n\tborder: 1px solid green;\n\tuser-select: none;\n}\n.zs_core{\n\toverflow: hidden;\n"
},
{
"path": "libs/ZoomableSlider/ZoomableSlider.html",
"chars": 618,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n\t<meta charset=\"UTF-8\">\n\t<meta name=\"viewport\" content=\"width=device-width, init"
},
{
"path": "libs/ZoomableSlider/ZoomableSlider.js",
"chars": 5116,
"preview": "\nclass ZoomableSlider{\n\tconstructor(){\n\t\tthis.visibleRange = [0, 10];\n\t\tthis.chosenRange = [2, 7];\n\t\tthis.step = 0.01;\n\t"
},
{
"path": "libs/brotli/BUILD",
"chars": 996,
"preview": "package(\n default_visibility = [\"//visibility:public\"],\n)\n\nlicenses([\"notice\"]) # MIT\n\nload(\"@io_bazel_rules_closure"
},
{
"path": "libs/brotli/LICENSE",
"chars": 1084,
"preview": "Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.\n\nPermission is hereby granted, free of charge, to any person "
},
{
"path": "libs/brotli/WORKSPACE",
"chars": 380,
"preview": "workspace(name = \"org_brotli_js\")\n\nload(\"@bazel_tools//tools/build_defs/repo:git.bzl\", \"git_repository\")\n\ngit_repository"
},
{
"path": "libs/brotli/decode.js",
"chars": 216247,
"preview": "/* Copyright 2017 Google Inc. All Rights Reserved.\n\n Distributed under MIT license.\n See file LICENSE for detail or "
},
{
"path": "libs/brotli/decode_test.js",
"chars": 3394,
"preview": "goog.require('goog.testing.asserts');\ngoog.require('goog.testing.jsunit');\n\n/**\n * @param {!Int8Array} bytes\n * @return "
},
{
"path": "libs/brotli/polyfill.js",
"chars": 1511,
"preview": "if (!Int32Array.__proto__.from) {\n Object.defineProperty(Int32Array.__proto__, 'from', {\n value: function(obj) {\n "
},
{
"path": "libs/d3/LICENSE",
"chars": 1429,
"preview": "Copyright (c) 2010-2017, Michael Bostock\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with o"
},
{
"path": "libs/d3/d3.js",
"chars": 335277,
"preview": "!function() {\n var d3 = {\n version: \"3.5.5\"\n };\n var d3_arraySlice = [].slice, d3_array = function(list) {\n ret"
},
{
"path": "libs/ept/ParseBuffer.js",
"chars": 6010,
"preview": "function parseEpt(event) {\n\tlet buffer = event.data.buffer;\n\tlet view = new DataView(buffer);\n\tlet schema = event.data.s"
},
{
"path": "libs/geopackage/LICENSE",
"chars": 1107,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2015 National Geospatial-Intelligence Agency\n\nPermission is hereby granted, free of"
},
{
"path": "libs/geopackage/README.md",
"chars": 9841,
"preview": "# GeoPackage JS\n\nGeoPackage JS is an implementation of the OGC GeoPackage spec. This library works in both the browser "
},
{
"path": "libs/geopackage/geopackage.js",
"chars": 5983559,
"preview": "(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"func"
},
{
"path": "libs/i18next/i18next.js",
"chars": 31508,
"preview": "// i18next, v1.8.0\n// Copyright (c)2015 Jan Mhlemann (jamuhl).\n// Distributed under MIT license\n// http://i18next.com\n!f"
},
{
"path": "libs/jquery/jquery-3.1.1.js",
"chars": 267194,
"preview": "/*!\n * jQuery JavaScript Library v3.1.1\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * C"
},
{
"path": "libs/jquery-ui/AUTHORS.txt",
"chars": 12634,
"preview": "Authors ordered by first contribution\nA list of current team members is available at http://jqueryui.com/about\n\nPaul Bak"
},
{
"path": "libs/jquery-ui/LICENSE.txt",
"chars": 1817,
"preview": "Copyright jQuery Foundation and other contributors, https://jquery.org/\n\nThis software consists of voluntary contributio"
},
{
"path": "libs/jquery-ui/index.html",
"chars": 32588,
"preview": "<!doctype html>\n<html lang=\"us\">\n<head>\n\t<meta charset=\"utf-8\">\n\t<title>jQuery UI Example Page</title>\n\t<link href=\"jque"
},
{
"path": "libs/jquery-ui/jquery-ui.css",
"chars": 35997,
"preview": "/*! jQuery UI - v1.12.1 - 2017-04-16\n* http://jqueryui.com\n* Includes: draggable.css, core.css, resizable.css, selectabl"
},
{
"path": "libs/jquery-ui/jquery-ui.structure.css",
"chars": 18705,
"preview": "/*!\n * jQuery UI CSS Framework 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n *"
},
{
"path": "libs/jquery-ui/jquery-ui.theme.css",
"chars": 17342,
"preview": "/*!\n * jQuery UI CSS Framework 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n *"
},
{
"path": "libs/jquery-ui/package.json",
"chars": 1845,
"preview": "{\n\t\"name\": \"jquery-ui\",\n\t\"title\": \"jQuery UI\",\n\t\"description\": \"A curated set of user interface interactions, effects, w"
},
{
"path": "libs/json5-2.1.3/LICENSE.md",
"chars": 1145,
"preview": "MIT License\n\nCopyright (c) 2012-2018 Aseem Kishore, and [others].\n\nPermission is hereby granted, free of charge, to any "
},
{
"path": "libs/json5-2.1.3/README.md",
"chars": 7729,
"preview": "# JSON5 – JSON for Humans\n\n[][Build Status]\n[ 2014 Ivan Bozhanov\r\n\r\nPermission is hereby granted, free of charge, to any person\r\nobtaining a copy of thi"
},
{
"path": "libs/jstree/README.md",
"chars": 23824,
"preview": "# jstree\n\n[jsTree](http://www.jstree.com/) is jquery plugin, that provides interactive trees. It is absolutely free, [op"
},
{
"path": "libs/jstree/jstree.js",
"chars": 304494,
"preview": "/*globals jQuery, define, module, exports, require, window, document, postMessage */\n(function (factory) {\n\t\"use strict\""
},
{
"path": "libs/jstree/themes/mixed/style.css",
"chars": 31855,
"preview": "/* jsTree default theme */\n.jstree-node,\n.jstree-children,\n.jstree-container-ul {\n display: block;\n margin: 0;\n paddi"
},
{
"path": "libs/openlayers3/LICENSE",
"chars": 175,
"preview": "http://openlayers.org/\n\nCode licensed under the 2-Clause BSD. All documentation CC BY 3.0. Thanks to our sponsors.\nhttps"
},
{
"path": "libs/openlayers3/ol-deps.js",
"chars": 513479,
"preview": "// This file was autogenerated by depswriter.py.\n// Please do not edit.\ngoog.addDependency('../../../ol.ext/pbf.js', ['o"
},
{
"path": "libs/openlayers3/ol.css",
"chars": 3645,
"preview": ".ol-control,.ol-scale-line{position:absolute;padding:2px}.ol-box{box-sizing:border-box;border-radius:2px;border:2px soli"
},
{
"path": "libs/openlayers3/ol.js",
"chars": 509117,
"preview": "// OpenLayers 3. See http://openlayers.org/\n// License: https://raw.githubusercontent.com/openlayers/ol3/master/LICENSE."
},
{
"path": "libs/other/BinaryHeap.js",
"chars": 3855,
"preview": "/*\n** Binary Heap implementation in Javascript\n** From: http://eloquentjavascript.net/1st_edition/appendix2.html\n**\n** C"
},
{
"path": "libs/other/stats.js",
"chars": 4848,
"preview": "// stats.js -\n// @author mrdoob http://github.com/mrdoob/stats.js\n\n// The MIT License\n// \n// Copyright (c) 2009-2016 sta"
},
{
"path": "libs/plasio/LICENSE",
"chars": 1099,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2014 Uday Verma, uday.karan@gmail.com\n\nPermission is hereby granted, free of charge"
},
{
"path": "libs/plasio/js/laslaz.js",
"chars": 10420,
"preview": "// laslaz.js\n// LAS/LAZ loading\n//\n\n//var common = require(\"./common\"),\n//\tPromise = require(\"bluebird\");\n\n(function(sco"
},
{
"path": "libs/plasio/vendor/bluebird.js",
"chars": 172664,
"preview": "/**\n * bluebird build version 1.0.8\n * Features enabled: core, timers, race, any, call_get, filter, generators, map, nod"
},
{
"path": "libs/plasio/workers/laz-loader-worker.js",
"chars": 3856,
"preview": "// laz-loader-worker.js\n//\n\n//import {Module} from \"./laz-perf.js\";\n\nlet instance = null; // laz-perf instance\n\nfunction"
},
{
"path": "libs/plasio/workers/laz-perf.js",
"chars": 1584987,
"preview": "// The Module object: Our interface to the outside world. We import\n// and export values on it. There are various ways M"
},
{
"path": "libs/potree/LICENSE",
"chars": 1570,
"preview": " \n============\n== POTREE ==\n============\n\nhttp://potree.org\n\nCopyright (c) 2011-2020, Markus Schütz\nAll rights reserved."
},
{
"path": "libs/potree/lazylibs/geopackage/LICENSE",
"chars": 1107,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2015 National Geospatial-Intelligence Agency\n\nPermission is hereby granted, free of"
},
{
"path": "libs/potree/lazylibs/geopackage/README.md",
"chars": 9841,
"preview": "# GeoPackage JS\n\nGeoPackage JS is an implementation of the OGC GeoPackage spec. This library works in both the browser "
},
{
"path": "libs/potree/lazylibs/geopackage/geopackage.js",
"chars": 5983559,
"preview": "(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"func"
},
{
"path": "libs/potree/lazylibs/sql.js/AUTHORS",
"chars": 111,
"preview": "Ophir LOJKINE <pere.jobs@gmail.com> (https://github.com/lovasoa)\n@kripken\n@hankinsoft\n@firien\n@dinedal\n@taytay\n"
},
{
"path": "libs/potree/lazylibs/sql.js/LICENSE",
"chars": 2199,
"preview": "MIT license\n===========\n\nCopyright (c) 2017 sql.js authors (see AUTHORS)\n\nPermission is hereby granted, free of charge, "
},
{
"path": "libs/potree/lazylibs/sql.js/README.md",
"chars": 11087,
"preview": "# SQLite compiled to javascript\n[](http://travis-"
},
{
"path": "libs/potree/lazylibs/sql.js/sql-wasm.js",
"chars": 56474,
"preview": "\n// We are modularizing this manually because the current modularize setting in Emscripten has some issues:\n// https://g"
},
{
"path": "libs/potree/potree.css",
"chars": 12751,
"preview": "\n/* CSS - Cascading Style Sheet */\n/* Palette color codes */\n/* Palette URL: http://paletton.com/#uid=13p0u0kex8W2uqu8af"
},
{
"path": "libs/potree/potree.js",
"chars": 2280240,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof"
},
{
"path": "libs/potree/profile.html",
"chars": 4078,
"preview": "<div id=\"profile_window\" style=\"\n\tposition: absolute; \n\twidth: 84%;\n\tleft: 15%; top: 55%; height: 44%;\n\tmargin: 5px;\n\tbo"
},
{
"path": "libs/potree/resources/LICENSE",
"chars": 523,
"preview": "\n\n\nicons/map_icon.png\nfrom sitn PotreeViewer\nhttp://ne.ch/sitn\nhttps://github.com/PotreeViewer/PotreeViewer\n\nicons/navig"
},
{
"path": "libs/potree/resources/icons/image_preview.php",
"chars": 385,
"preview": "<?php\n\n\n$dir = './';\n$files = scandir($dir);\n\nforeach($files as $key => $value){\n\t\n\tif($value === \".\" || $value === \""
},
{
"path": "libs/potree/resources/icons/index.html",
"chars": 19502,
"preview": "\n\t\t\t<html>\n\t\t\t\t<head>\n\t\t\t\t\t<style>\n\t\t\t\t\t\t.icon_container{\n\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\tmargin: 10px;\n\t\t\t\t\t\t\tpa"
},
{
"path": "libs/potree/resources/lang/de/translation.json",
"chars": 2462,
"preview": "{\n \"tb\": {\n \"navigation_opt\": \"Navigation\",\n \"rendering_opt\": \"Aussehen\",\n \"tools_opt\": \"Tools\","
},
{
"path": "libs/potree/resources/lang/dev/ns.common.json",
"chars": 140,
"preview": "{\n\t\"simple_dev\": \"ok_from_common_dev\",\n\t\"test\": {\n\t\t\"simple_dev\": \"ok_from_common_dev\",\n\t\t\"fallback_dev\": \"ok_from_commo"
},
{
"path": "libs/potree/resources/lang/dev/ns.special.json",
"chars": 93,
"preview": "{\n\t\"simple_dev\": \"ok_from_special_dev\",\n\t\"test\": {\n\t\t\"simple_dev\": \"ok_from_special_dev\"\n\t}\n}"
},
{
"path": "libs/potree/resources/lang/dev/translation.json",
"chars": 77,
"preview": "{\n\t\"simple_dev\": \"ok_from_dev\",\n\t\"test\": {\n\t\t\"simple_dev\": \"ok_from_dev\"\n\t}\n}"
},
{
"path": "libs/potree/resources/lang/en/ns.common.json",
"chars": 134,
"preview": "{\n\t\"simple_en\": \"ok_from_common_en\",\n\t\"test\": {\n\t\t\"simple_en\": \"ok_from_common_en\",\n\t\t\"fallback_en\": \"ok_from_common_en-"
},
{
"path": "libs/potree/resources/lang/en/ns.special.json",
"chars": 89,
"preview": "{\n\t\"simple_en\": \"ok_from_special_en\",\n\t\"test\": {\n\t\t\"simple_en\": \"ok_from_special_en\"\n\t}\n}"
},
{
"path": "libs/potree/resources/lang/en/translation.json",
"chars": 3200,
"preview": "{\n\t\"tb\": {\n\t\t\"navigation_opt\": \"Navigation\",\n\t\t\"rendering_opt\": \"Appearance\",\n\t\t\"tools_opt\": \"Tools\",\n\t\t\"measurments_opt"
},
{
"path": "libs/potree/resources/lang/en-US/ns.common.json",
"chars": 99,
"preview": "{\n\t\"simple_en-US\": \"ok_from_common_en-US\",\n\t\"test\": {\n\t\t\"simple_en-US\": \"ok_from_common_en-US\"\n\t}\n}"
},
{
"path": "libs/potree/resources/lang/en-US/ns.special.json",
"chars": 101,
"preview": "{\n\t\"simple_en-US\": \"ok_from_special_en-US\",\n\t\"test\": {\n\t\t\"simple_en-US\": \"ok_from_special_en-US\"\n\t}\n}"
},
{
"path": "libs/potree/resources/lang/en-US/translation.json",
"chars": 85,
"preview": "{\n\t\"simple_en-US\": \"ok_from_en-US\",\n\t\"test\": {\n\t\t\"simple_en-US\": \"ok_from_en-US\"\n\t}\n}"
},
{
"path": "libs/potree/resources/lang/es/translation.json",
"chars": 2956,
"preview": "{\n\t\"tb\": {\n\t\t\"navigation_opt\": \"Navegación\",\n\t\t\"rendering_opt\": \"Apariencia\",\n\t\t\"tools_opt\": \"Herramientas\",\n\t\t\"measurme"
},
{
"path": "libs/potree/resources/lang/fr/translation.json",
"chars": 2019,
"preview": "{\n \"tb\": {\n \"navigation_opt\": \"Navigation\",\n \"rendering_opt\": \"Apparence\",\n \"tools_opt\": \"Outils"
},
{
"path": "libs/potree/resources/lang/it/translation.json",
"chars": 3390,
"preview": "{\n \"tb\": {\n \"navigation_opt\": \"Navigazione\",\n \"rendering_opt\": \"Visualizzazione\",\n \"tools_opt\": "
},
{
"path": "libs/potree/resources/lang/jp/translation.json",
"chars": 1897,
"preview": "{\n \"tb\": {\n \"navigation_opt\": \"ナビゲーション\",\n \"rendering_opt\": \"外観\",\n \"tools_opt\": \"ツール\",\n \"m"
},
{
"path": "libs/potree/resources/lang/se/translation.json",
"chars": 2845,
"preview": "{\n\t\"tb\": {\n\t\t\"navigation_opt\": \"Navigering\",\n\t\t\"rendering_opt\": \"Utseende\",\n\t\t\"tools_opt\": \"Verktyg\",\n\t\t\"measurments_opt"
},
{
"path": "libs/potree/resources/lang/zh/translation.json",
"chars": 2479,
"preview": "{\n\t\"tb\": {\n\t\t\"navigation_opt\": \"导航\",\n\t\t\"rendering_opt\": \"外观\",\n\t\t\"tools_opt\": \"工具\",\n\t\t\"measurments_opt\": \"量测分析\",\n\t\t\"clipp"
},
{
"path": "libs/potree/resources/models/stanford_bunny_reduced.mtl",
"chars": 317,
"preview": "# Blender MTL File: 'None'\n# Material Count: 1\n\nnewmtl Material.001\nNs 96.078431\nKa 1.000000 1.000000 1.000000\nKd 0.6400"
},
{
"path": "libs/potree/resources/models/stanford_bunny_reduced.obj",
"chars": 702625,
"preview": "# Blender v2.79 (sub 0) OBJ File: ''\n# www.blender.org\nmtllib stanford_bunny_reduced.mtl\no stanford_bunny_reduced\nv -0.0"
},
{
"path": "libs/potree/resources/textures/LICENSE",
"chars": 434,
"preview": "\n\n\nbrick_pavement.jpg:\nhttp://www.wildtextures.com/terms-of-use/\n==============================\nAll textures at wildtext"
},
{
"path": "libs/potree/resources/textures/matcap/blender_matcap_license.txt",
"chars": 192,
"preview": "These matcap images are licensed as CC0 or public domain.\n\nThanks to the Blender community for contributing these matcap"
},
{
"path": "libs/potree/resources/textures/skybox/skyboxsun25degtest.txt",
"chars": 41,
"preview": "http://reije081.home.xs4all.nl/skyboxes/\n"
},
{
"path": "libs/potree/resources/textures/skybox2/README.TXT",
"chars": 278,
"preview": "THIS SKY WAS UPDATED AT THE 27TH\nTHE ORIG HAD SOME ERRORS\n\nMIRAMAR\nhigh res 1024^2 environment map\nships as TGA.\n\n\nBy Jo"
},
{
"path": "libs/potree/resources/textures/skyboxsun25degtest.txt",
"chars": 41,
"preview": "http://reije081.home.xs4all.nl/skyboxes/\n"
},
{
"path": "libs/potree/sidebar.html",
"chars": 9631,
"preview": "\n<div id=\"sidebar_root\" class=\"\">\n\t<div id=\"sidebar_header\">\n\t\t<span id=\"potree_branding\" class=\"potree_sidebar_brand\">\n"
},
{
"path": "libs/potree/workers/2.0/DecoderWorker.js",
"chars": 9022,
"preview": "/**\n * Some types of possible point attribute data formats\n *\n * @class\n */\nconst PointAttributeTypes = {\n\tDATA_TYPE_DOU"
},
{
"path": "libs/potree/workers/2.0/DecoderWorker_brotli.js",
"chars": 231586,
"preview": "/**\n * Some types of possible point attribute data formats\n *\n * @class\n */\nconst PointAttributeTypes = {\n\tDATA_TYPE_DOU"
},
{
"path": "libs/potree/workers/BinaryDecoderWorker.js",
"chars": 12984,
"preview": "class Version{\n\n\tconstructor(version){\n\t\tthis.version = version;\n\t\tlet vmLength = (version.indexOf('.') === -1) ? versio"
},
{
"path": "libs/potree/workers/EptBinaryDecoderWorker.js",
"chars": 6108,
"preview": "function parseEpt(event) {\n\tlet buffer = event.data.buffer;\n\tlet view = new DataView(buffer);\n\tlet schema = event.data.s"
},
{
"path": "libs/potree/workers/EptLaszipDecoderWorker.js",
"chars": 5845,
"preview": "function readUsingDataView(event) {\n\tperformance.mark(\"laslaz-start\");\n\n\tlet buffer = event.data.buffer;\n\tlet numPoints "
},
{
"path": "libs/potree/workers/EptZstandardDecoderWorker.js",
"chars": 3133854,
"preview": "window = { };\r\ndocument = { };\n(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&"
},
{
"path": "libs/potree/workers/LASDecoderWorker.js",
"chars": 11010,
"preview": "\nfunction readUsingTempArrays(event) {\n\n\tperformance.mark(\"laslaz-start\");\n\n\tlet buffer = event.data.buffer;\n\tlet numPoi"
},
{
"path": "libs/potree/workers/LASLAZWorker.js",
"chars": 1588844,
"preview": "// The Module object: Our interface to the outside world. We import\n// and export values on it. There are various ways M"
},
{
"path": "libs/proj4/LICENSE.md",
"chars": 1452,
"preview": "##Proj4js -- Javascript reprojection library. \n \nAuthors:\n- Mike Adair madairATdmsolutions.ca\n- Richard Greenwood richAT"
},
{
"path": "libs/proj4/README.md",
"chars": 5214,
"preview": "# PROJ4JS [](https://travis-ci.org/proj4js/proj4js)\n\nProj4js i"
},
{
"path": "libs/proj4/proj4.js",
"chars": 74189,
"preview": "!function(a){if(\"object\"==typeof exports)module.exports=a();else if(\"function\"==typeof define&&define.amd)define(a);else"
},
{
"path": "libs/shapefile/shapefile.js",
"chars": 14125,
"preview": "// https://github.com/mbostock/shapefile Version 0.6.2. Copyright 2017 Mike Bostock.\n(function (global, factory) {\n\ttype"
},
{
"path": "libs/spectrum/LICENSE",
"chars": 1054,
"preview": "Copyright (c) Brian Grinstead\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this soft"
},
{
"path": "libs/spectrum/README.md",
"chars": 2757,
"preview": "# Spectrum\n## The No Hassle Colorpicker\n\nSee the demo and docs: http://bgrins.github.io/spectrum.\n\nI wanted a colorpicke"
},
{
"path": "libs/spectrum/spectrum.css",
"chars": 14921,
"preview": "/***\nSpectrum Colorpicker v1.8.0\nhttps://github.com/bgrins/spectrum\nAuthor: Brian Grinstead\nLicense: MIT\n***/\n\n.sp-conta"
},
{
"path": "libs/spectrum/spectrum.js",
"chars": 79816,
"preview": "// Spectrum Colorpicker v1.8.0\n// https://github.com/bgrins/spectrum\n// Author: Brian Grinstead\n// License: MIT\n\n(functi"
},
{
"path": "libs/sql.js/AUTHORS",
"chars": 111,
"preview": "Ophir LOJKINE <pere.jobs@gmail.com> (https://github.com/lovasoa)\n@kripken\n@hankinsoft\n@firien\n@dinedal\n@taytay\n"
},
{
"path": "libs/sql.js/LICENSE",
"chars": 2199,
"preview": "MIT license\n===========\n\nCopyright (c) 2017 sql.js authors (see AUTHORS)\n\nPermission is hereby granted, free of charge, "
},
{
"path": "libs/sql.js/README.md",
"chars": 11087,
"preview": "# SQLite compiled to javascript\n[](http://travis-"
},
{
"path": "libs/sql.js/sql-wasm.js",
"chars": 56474,
"preview": "\n// We are modularizing this manually because the current modularize setting in Emscripten has some issues:\n// https://g"
},
{
"path": "libs/three.js/LICENSE",
"chars": 1080,
"preview": "The MIT License\n\nCopyright © 2010-2019 three.js authors\n\nPermission is hereby granted, free of charge, to any person obt"
},
{
"path": "libs/three.js/README.md",
"chars": 3428,
"preview": "three.js\n========\n\n[![NPM package][npm]][npm-url]\n[![Build Size][build-size]][build-size-url]\n[![Build Status][build-sta"
},
{
"path": "libs/three.js/build/three.js",
"chars": 1247214,
"preview": "// threejs.org/license\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? fac"
},
{
"path": "libs/three.js/build/three.module.js",
"chars": 1200585,
"preview": "// threejs.org/license\nconst REVISION = '124';\nconst MOUSE = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2"
},
{
"path": "libs/three.js/extra/GLTFLoader.js",
"chars": 97039,
"preview": "import {\n\tAnimationClip,\n\tBone,\n\tBox3,\n\tBufferAttribute,\n\tBufferGeometry,\n\tCanvasTexture,\n\tClampToEdgeWrapping,\n\tColor,\n"
},
{
"path": "libs/three.js/extra/VRButton.js",
"chars": 3619,
"preview": "\n// Adapted from three.js VRButton\n\n\nclass VRButton {\n\n\tconstructor(){\n\t\tthis.onStartListeners = [];\n\t\tthis.onEndListene"
},
{
"path": "libs/three.js/extra/XRControllerModelFactory.js",
"chars": 7408,
"preview": "import {\n\tMesh,\n\tMeshBasicMaterial,\n\tObject3D,\n\tQuaternion,\n\tSphereBufferGeometry,\n} from '../build/three.module.js';\n\ni"
},
{
"path": "libs/three.js/extra/lines/Line2.js",
"chars": 582,
"preview": "/**\n * @author WestLangley / http://github.com/WestLangley\n *\n */\n\nTHREE.Line2 = function ( geometry, material ) {\n\n\tTHR"
},
{
"path": "libs/three.js/extra/lines/LineGeometry.js",
"chars": 1850,
"preview": "/**\n * @author WestLangley / http://github.com/WestLangley\n *\n */\n\nTHREE.LineGeometry = function () {\n\n\tTHREE.LineSegmen"
},
{
"path": "libs/three.js/extra/lines/LineMaterial.js",
"chars": 7264,
"preview": "/**\n * @author WestLangley / http://github.com/WestLangley\n *\n * parameters = {\n * color: <hex>,\n * linewidth: <float>"
},
{
"path": "libs/three.js/extra/lines/LineSegments2.js",
"chars": 1789,
"preview": "/**\n * @author WestLangley / http://github.com/WestLangley\n *\n */\n\nTHREE.LineSegments2 = function ( geometry, material )"
},
{
"path": "libs/three.js/extra/lines/LineSegmentsGeometry.js",
"chars": 5009,
"preview": "/**\n * @author WestLangley / http://github.com/WestLangley\n *\n */\n\nTHREE.LineSegmentsGeometry = function () {\n\n\tTHREE.In"
},
{
"path": "libs/three.js/extra/lines/Wireframe.js",
"chars": 1769,
"preview": "/**\n * @author WestLangley / http://github.com/WestLangley\n *\n */\n\nTHREE.Wireframe = function ( geometry, material ) {\n\n"
},
{
"path": "libs/three.js/extra/lines/WireframeGeometry2.js",
"chars": 551,
"preview": "/**\n * @author WestLangley / http://github.com/WestLangley\n *\n */\n\nTHREE.WireframeGeometry2 = function ( geometry ) {\n\n\t"
},
{
"path": "libs/three.js/extra/lines.js",
"chars": 17363,
"preview": "\r\n\r\n\r\n/**\r\n * @author WestLangley / http://github.com/WestLangley\r\n *\r\n */\r\n\r\nTHREE.LineSegmentsGeometry = function () {"
},
{
"path": "libs/three.js/libs/dat.gui.module.js",
"chars": 85463,
"preview": "/**\n * dat-gui JavaScript Controller Library\n * http://code.google.com/p/dat-gui\n *\n * Copyright 2011 Data Arts Team, Go"
},
{
"path": "libs/three.js/libs/meshopt_decoder.module.js",
"chars": 21414,
"preview": "// This file is part of meshoptimizer library and is distributed under the terms of MIT License.\n// Copyright (C) 2016-2"
},
{
"path": "libs/three.js/libs/mmdparser.module.js",
"chars": 177803,
"preview": "/**\n * @author Takahiro / https://github.com/takahirox\n *\n * Simple CharsetEncoder.\n */\n\nfunction CharsetEncoder() {\n}\n\n"
},
{
"path": "libs/three.js/libs/motion-controllers.module.js",
"chars": 13492,
"preview": "/**\n * @webxr-input-profiles/motion-controllers 1.0.0 https://github.com/immersive-web/webxr-input-profiles\n */\n\nconst C"
},
{
"path": "libs/three.js/libs/stats.module.js",
"chars": 3514,
"preview": "var Stats = function () {\n\n\tvar mode = 0;\n\n\tvar container = document.createElement( 'div' );\n\tcontainer.style.cssText = "
},
{
"path": "libs/three.js/libs/zstddec.module.js",
"chars": 42829,
"preview": "/**\n * @author Don McCurdy / https://www.donmccurdy.com\n */\n\nlet init, instance, heap;\n\nconst importObject = {\n\n\tenv: {\n"
},
{
"path": "libs/three.js/lines/Line2.js",
"chars": 600,
"preview": "import { LineSegments2 } from '../lines/LineSegments2.js';\nimport { LineGeometry } from '../lines/LineGeometry.js';\nimpo"
},
{
"path": "libs/three.js/lines/LineGeometry.js",
"chars": 1856,
"preview": "import { LineSegmentsGeometry } from '../lines/LineSegmentsGeometry.js';\n\nvar LineGeometry = function () {\n\n\tLineSegment"
},
{
"path": "libs/three.js/lines/LineMaterial.js",
"chars": 7542,
"preview": "import {\n\tShaderLib,\n\tShaderMaterial,\n\tUniformsLib,\n\tUniformsUtils,\n\tVector2\n} from '../build/three.module.js';\n\n/**\n * "
},
{
"path": "libs/three.js/lines/LineSegments2.js",
"chars": 5575,
"preview": "import {\n\tInstancedInterleavedBuffer,\n\tInterleavedBufferAttribute,\n\tLine3,\n\tMathUtils,\n\tMatrix4,\n\tMesh,\n\tVector3,\n\tVecto"
},
{
"path": "libs/three.js/lines/LineSegmentsGeometry.js",
"chars": 5131,
"preview": "import {\n\tBox3,\n\tFloat32BufferAttribute,\n\tInstancedBufferGeometry,\n\tInstancedInterleavedBuffer,\n\tInterleavedBufferAttrib"
},
{
"path": "libs/three.js/lines/Wireframe.js",
"chars": 1838,
"preview": "import {\n\tInstancedInterleavedBuffer,\n\tInterleavedBufferAttribute,\n\tMesh,\n\tVector3\n} from '../build/three.module.js';\nim"
},
{
"path": "libs/three.js/lines/WireframeGeometry2.js",
"chars": 553,
"preview": "import {\n\tWireframeGeometry\n} from '../build/three.module.js';\nimport { LineSegmentsGeometry } from '../lines/LineSegmen"
},
{
"path": "libs/three.js/loaders/3DMLoader.js",
"chars": 29731,
"preview": "import {\n\tBufferGeometryLoader,\n\tFileLoader,\n\tLoader,\n\tObject3D,\n\tMeshStandardMaterial,\n\tMesh,\n\tColor,\n\tPoints,\n\tPointsM"
},
{
"path": "libs/three.js/loaders/3MFLoader.js",
"chars": 34429,
"preview": "import {\n\tBufferAttribute,\n\tBufferGeometry,\n\tClampToEdgeWrapping,\n\tColor,\n\tFileLoader,\n\tFloat32BufferAttribute,\n\tGroup,\n"
},
{
"path": "libs/three.js/loaders/AMFLoader.js",
"chars": 10779,
"preview": "import {\n\tBufferGeometry,\n\tColor,\n\tFileLoader,\n\tFloat32BufferAttribute,\n\tGroup,\n\tLoader,\n\tLoaderUtils,\n\tMesh,\n\tMeshPhong"
},
{
"path": "libs/three.js/loaders/AssimpLoader.js",
"chars": 51891,
"preview": "import {\n\tBone,\n\tBufferAttribute,\n\tBufferGeometry,\n\tColor,\n\tFileLoader,\n\tLoader,\n\tLoaderUtils,\n\tMatrix4,\n\tMesh,\n\tMeshLam"
},
{
"path": "libs/three.js/loaders/BVHLoader.js",
"chars": 9131,
"preview": "import {\n\tAnimationClip,\n\tBone,\n\tFileLoader,\n\tLoader,\n\tQuaternion,\n\tQuaternionKeyframeTrack,\n\tSkeleton,\n\tVector3,\n\tVecto"
},
{
"path": "libs/three.js/loaders/BasisTextureLoader.js",
"chars": 12407,
"preview": "import {\n\tCompressedTexture,\n\tFileLoader,\n\tLinearFilter,\n\tLinearMipmapLinearFilter,\n\tLoader,\n\tRGBA_ASTC_4x4_Format,\n\tRGB"
},
{
"path": "libs/three.js/loaders/ColladaLoader.js",
"chars": 80720,
"preview": "import {\n\tAmbientLight,\n\tAnimationClip,\n\tBone,\n\tBufferGeometry,\n\tClampToEdgeWrapping,\n\tColor,\n\tDirectionalLight,\n\tDouble"
},
{
"path": "libs/three.js/loaders/DDSLoader.js",
"chars": 6321,
"preview": "import {\n\tCompressedTextureLoader,\n\tRGBAFormat,\n\tRGBA_S3TC_DXT3_Format,\n\tRGBA_S3TC_DXT5_Format,\n\tRGB_ETC1_Format,\n\tRGB_S"
},
{
"path": "libs/three.js/loaders/DRACOLoader.js",
"chars": 14532,
"preview": "import {\n\tBufferAttribute,\n\tBufferGeometry,\n\tFileLoader,\n\tLoader\n} from '../../../build/three.module.js';\n\nvar DRACOLoad"
},
{
"path": "libs/three.js/loaders/EXRLoader.js",
"chars": 55622,
"preview": "import {\n\tDataTextureLoader,\n\tDataUtils,\n\tFloatType,\n\tHalfFloatType,\n\tLinearEncoding,\n\tLinearFilter,\n\tNearestFilter,\n\tRG"
},
{
"path": "libs/three.js/loaders/FBXLoader.js",
"chars": 101563,
"preview": "import {\n\tAmbientLight,\n\tAnimationClip,\n\tBone,\n\tBufferAttribute,\n\tBufferGeometry,\n\tClampToEdgeWrapping,\n\tColor,\n\tDirecti"
},
{
"path": "libs/three.js/loaders/GCodeLoader.js",
"chars": 5516,
"preview": "import {\n\tBufferGeometry,\n\tEuler,\n\tFileLoader,\n\tFloat32BufferAttribute,\n\tGroup,\n\tLineBasicMaterial,\n\tLineSegments,\n\tLoad"
},
{
"path": "libs/three.js/loaders/GLTFLoader.js",
"chars": 97033,
"preview": "import {\n\tAnimationClip,\n\tBone,\n\tBox3,\n\tBufferAttribute,\n\tBufferGeometry,\n\tCanvasTexture,\n\tClampToEdgeWrapping,\n\tColor,\n"
},
{
"path": "libs/three.js/loaders/HDRCubeTextureLoader.js",
"chars": 2946,
"preview": "import {\n\tCubeTexture,\n\tDataTexture,\n\tFileLoader,\n\tFloatType,\n\tHalfFloatType,\n\tLinearEncoding,\n\tLinearFilter,\n\tLoader,\n\t"
},
{
"path": "libs/three.js/loaders/KMZLoader.js",
"chars": 2354,
"preview": "import {\n\tFileLoader,\n\tGroup,\n\tLoader,\n\tLoadingManager\n} from '../../../build/three.module.js';\nimport { ColladaLoader }"
},
{
"path": "libs/three.js/loaders/KTX2Loader.js",
"chars": 19360,
"preview": "/**\n * References:\n * - KTX: http://github.khronos.org/KTX-Specification/\n * - DFD: https://www.khronos.org/registry/Dat"
},
{
"path": "libs/three.js/loaders/KTXLoader.js",
"chars": 6868,
"preview": "import {\n\tCompressedTextureLoader\n} from '../../../build/three.module.js';\n\n/**\n * for description see https://www.khron"
},
{
"path": "libs/three.js/loaders/LDrawLoader.js",
"chars": 46656,
"preview": "import {\n\tBufferAttribute,\n\tBufferGeometry,\n\tColor,\n\tFileLoader,\n\tFloat32BufferAttribute,\n\tGroup,\n\tLineBasicMaterial,\n\tL"
},
{
"path": "libs/three.js/loaders/LUT3dlLoader.js",
"chars": 3475,
"preview": "// http://download.autodesk.com/us/systemdocs/help/2011/lustre/index.html?url=./files/WSc4e151a45a3b785a24c3d9a411df9298"
},
{
"path": "libs/three.js/loaders/LUTCubeLoader.js",
"chars": 3370,
"preview": "// https://wwwimages2.adobe.com/content/dam/acom/en/products/speedgrade/cc/pdfs/cube-lut-specification-1.0.pdf\n\nimport {"
},
{
"path": "libs/three.js/loaders/LWOLoader.js",
"chars": 23618,
"preview": "/**\n * @version 1.1.1\n *\n * @desc Load files in LWO3 and LWO2 format on Three.js\n *\n * LWO3 format specification:\n * \tht"
},
{
"path": "libs/three.js/loaders/LottieLoader.js",
"chars": 1447,
"preview": "import {\n\tFileLoader,\n\tLoader,\n\tCanvasTexture,\n\tNearestFilter\n} from '../../../build/three.module.js';\n\nclass LottieLoad"
},
{
"path": "libs/three.js/loaders/MD2Loader.js",
"chars": 12798,
"preview": "import {\n\tAnimationClip,\n\tBufferGeometry,\n\tFileLoader,\n\tFloat32BufferAttribute,\n\tLoader,\n\tVector3\n} from '../../../build"
},
{
"path": "libs/three.js/loaders/MDDLoader.js",
"chars": 2420,
"preview": "/**\n * MDD is a special format that stores a position for every vertex in a model for every frame in an animation.\n * Si"
},
{
"path": "libs/three.js/loaders/MMDLoader.js",
"chars": 47967,
"preview": "import {\n\tAddOperation,\n\tAnimationClip,\n\tBone,\n\tBufferGeometry,\n\tColor,\n\tCustomBlending,\n\tDoubleSide,\n\tDstAlphaFactor,\n\t"
},
{
"path": "libs/three.js/loaders/MTLLoader.js",
"chars": 10721,
"preview": "import {\n\tColor,\n\tDefaultLoadingManager,\n\tFileLoader,\n\tFrontSide,\n\tLoader,\n\tLoaderUtils,\n\tMeshPhongMaterial,\n\tRepeatWrap"
},
{
"path": "libs/three.js/loaders/NRRDLoader.js",
"chars": 13018,
"preview": "import {\n\tFileLoader,\n\tLoader,\n\tMatrix4,\n\tVector3\n} from '../../../build/three.module.js';\nimport { Zlib } from '../libs"
},
{
"path": "libs/three.js/loaders/NodeMaterialLoader.js",
"chars": 4265,
"preview": "import {\n\tDefaultLoadingManager,\n\tFileLoader\n} from '../../../build/three.module.js';\n\nimport * as Nodes from '../nodes/"
},
{
"path": "libs/three.js/loaders/OBJLoader.js",
"chars": 21780,
"preview": "import {\n\tBufferGeometry,\n\tFileLoader,\n\tFloat32BufferAttribute,\n\tGroup,\n\tLineBasicMaterial,\n\tLineSegments,\n\tLoader,\n\tMat"
},
{
"path": "libs/three.js/loaders/OBJLoader2.js",
"chars": 10008,
"preview": "/**\n * Development repository: https://github.com/kaisalmen/WWOBJLoader\n */\n\nimport {\n\tFileLoader,\n\tObject3D,\n\tLoader\n} "
},
{
"path": "libs/three.js/loaders/OBJLoader2Parallel.js",
"chars": 6787,
"preview": "/**\n * Development repository: https://github.com/kaisalmen/WWOBJLoader\n */\n\n// Imports only related to wrapper\nimport {"
},
{
"path": "libs/three.js/loaders/PCDLoader.js",
"chars": 10265,
"preview": "import {\n\tBufferGeometry,\n\tFileLoader,\n\tFloat32BufferAttribute,\n\tLoader,\n\tLoaderUtils,\n\tPoints,\n\tPointsMaterial\n} from '"
},
{
"path": "libs/three.js/loaders/PDBLoader.js",
"chars": 6806,
"preview": "import {\n\tBufferGeometry,\n\tFileLoader,\n\tFloat32BufferAttribute,\n\tLoader\n} from '../../../build/three.module.js';\n\nvar PD"
},
{
"path": "libs/three.js/loaders/PLYLoader.js",
"chars": 11269,
"preview": "import {\n\tBufferGeometry,\n\tFileLoader,\n\tFloat32BufferAttribute,\n\tLoader,\n\tLoaderUtils\n} from '../build/three.module.js';"
},
{
"path": "libs/three.js/loaders/PRWMLoader.js",
"chars": 6177,
"preview": "import {\n\tBufferAttribute,\n\tBufferGeometry,\n\tFileLoader,\n\tLoader\n} from '../../../build/three.module.js';\n\n/**\n * See ht"
},
{
"path": "libs/three.js/loaders/PVRLoader.js",
"chars": 4909,
"preview": "import {\n\tCompressedTextureLoader,\n\tRGBA_PVRTC_2BPPV1_Format,\n\tRGBA_PVRTC_4BPPV1_Format,\n\tRGB_PVRTC_2BPPV1_Format,\n\tRGB_"
},
{
"path": "libs/three.js/loaders/RGBELoader.js",
"chars": 12521,
"preview": "import {\n\tDataTextureLoader,\n\tDataUtils,\n\tFloatType,\n\tHalfFloatType,\n\tLinearEncoding,\n\tLinearFilter,\n\tNearestFilter,\n\tRG"
},
{
"path": "libs/three.js/loaders/STLLoader.js",
"chars": 9812,
"preview": "import {\n\tBufferAttribute,\n\tBufferGeometry,\n\tFileLoader,\n\tFloat32BufferAttribute,\n\tLoader,\n\tLoaderUtils,\n\tVector3\n} from"
},
{
"path": "libs/three.js/loaders/SVGLoader.js",
"chars": 50317,
"preview": "import {\n\tBufferGeometry,\n\tFileLoader,\n\tFloat32BufferAttribute,\n\tLoader,\n\tMatrix3,\n\tPath,\n\tShapePath,\n\tVector2,\n\tVector3"
},
{
"path": "libs/three.js/loaders/TDSLoader.js",
"chars": 25910,
"preview": "import {\n\tAdditiveBlending,\n\tBufferGeometry,\n\tColor,\n\tDoubleSide,\n\tFileLoader,\n\tFloat32BufferAttribute,\n\tGroup,\n\tLoader,"
},
{
"path": "libs/three.js/loaders/TGALoader.js",
"chars": 11957,
"preview": "import {\n\tFileLoader,\n\tLoader,\n\tTexture\n} from '../../../build/three.module.js';\n\nvar TGALoader = function ( manager ) {"
},
{
"path": "libs/three.js/loaders/TTFLoader.js",
"chars": 4552,
"preview": "import {\n\tFileLoader,\n\tLoader\n} from '../../../build/three.module.js';\nimport { opentype } from '../libs/opentype.module"
},
{
"path": "libs/three.js/loaders/TiltLoader.js",
"chars": 14183,
"preview": "import {\n\tBufferAttribute,\n\tBufferGeometry,\n\tDoubleSide,\n\tFileLoader,\n\tGroup,\n\tLoader,\n\tMesh,\n\tMeshBasicMaterial,\n\tRawSh"
},
{
"path": "libs/three.js/loaders/VOXLoader.js",
"chars": 7945,
"preview": "import {\n\tBufferGeometry,\n\tFileLoader,\n\tFloat32BufferAttribute,\n\tLoader,\n\tMesh,\n\tMeshStandardMaterial\n} from '../../../b"
},
{
"path": "libs/three.js/loaders/VRMLLoader.js",
"chars": 74410,
"preview": "import {\n\tBackSide,\n\tBoxBufferGeometry,\n\tBufferAttribute,\n\tBufferGeometry,\n\tClampToEdgeWrapping,\n\tColor,\n\tConeBufferGeom"
},
{
"path": "libs/three.js/loaders/VRMLoader.js",
"chars": 1431,
"preview": "import {\n\tLoader\n} from '../../../build/three.module.js';\nimport { GLTFLoader } from '../loaders/GLTFLoader.js';\n\n// VRM"
},
{
"path": "libs/three.js/loaders/VTKLoader.js",
"chars": 27731,
"preview": "import {\n\tBufferAttribute,\n\tBufferGeometry,\n\tFileLoader,\n\tFloat32BufferAttribute,\n\tLoader,\n\tLoaderUtils\n} from '../../.."
},
{
"path": "libs/three.js/loaders/XLoader.js",
"chars": 40364,
"preview": "import {\n\tAnimationClip,\n\tAnimationMixer,\n\tBone,\n\tBufferGeometry,\n\tFileLoader,\n\tFloat32BufferAttribute,\n\tFrontSide,\n\tLoa"
},
{
"path": "libs/three.js/loaders/XYZLoader.js",
"chars": 1820,
"preview": "import {\n\tBufferGeometry,\n\tFileLoader,\n\tFloat32BufferAttribute,\n\tLoader\n} from '../../../build/three.module.js';\n\nclass "
},
{
"path": "libs/three.js/loaders/lwo/IFFParser.js",
"chars": 26571,
"preview": "/**\n * === IFFParser ===\n * - Parses data from the IFF buffer.\n * - LWO3 files are in IFF format and can contain the fol"
},
{
"path": "libs/three.js/loaders/lwo/LWO2Parser.js",
"chars": 10165,
"preview": "function LWO2Parser( IFFParser ) {\n\n\tthis.IFF = IFFParser;\n\n}\n\nLWO2Parser.prototype = {\n\n\tconstructor: LWO2Parser,\n\n\tpar"
},
{
"path": "libs/three.js/loaders/lwo/LWO3Parser.js",
"chars": 9234,
"preview": "function LWO3Parser( IFFParser ) {\n\n\tthis.IFF = IFFParser;\n\n}\n\nLWO3Parser.prototype = {\n\n\tconstructor: LWO3Parser,\n\n\tpar"
},
{
"path": "libs/three.js/loaders/obj2/OBJLoader2Parser.js",
"chars": 29517,
"preview": "/**\n * Development repository: https://github.com/kaisalmen/WWOBJLoader\n */\n\n/**\n * Parse OBJ data either from ArrayBuff"
},
{
"path": "libs/three.js/loaders/obj2/bridge/MtlObjBridge.js",
"chars": 865,
"preview": "/**\n * Development repository: https://github.com/kaisalmen/WWOBJLoader\n */\n\nimport { MTLLoader } from '../../../../jsm/"
},
{
"path": "libs/three.js/loaders/obj2/shared/MaterialHandler.js",
"chars": 6400,
"preview": "/**\n * Development repository: https://github.com/kaisalmen/WWOBJLoader\n */\n\nimport {\n\tLineBasicMaterial,\n\tMaterialLoade"
},
{
"path": "libs/three.js/loaders/obj2/shared/MeshReceiver.js",
"chars": 7044,
"preview": "/**\n * Development repository: https://github.com/kaisalmen/WWOBJLoader\n */\n\nimport {\n\tBufferAttribute,\n\tBufferGeometry,"
}
]
// ... and 23 more files (download for full content)
About this extraction
This page contains the full source code of the potree/PotreeDesktop GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 223 files (30.5 MB), approximately 8.0M tokens, and a symbol index with 20895 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.