diff --git a/entropy/chaos-lp-uniswap-v4/.env.example b/entropy/chaos-lp-uniswap-v4/.env.example new file mode 100644 index 0000000..1dbb483 --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/.env.example @@ -0,0 +1,17 @@ +RPC_URL=http://127.0.0.1:8545 +BASE_RPC= +DEPLOYER_PK= +CHAOS_HOOK_ADDRESS= +MOCK_PYTH_ADDRESS=0xB23aBA4aEb4c1b5258e625f2177Fef5Dd39aD741 +MOCK_ENTROPY_ADDRESS=0xC72B1dc2C89148E533b9C25639ace63D828078B1 +MOCK_POOL_MANAGER_ADDRESS=0xe1c032b20c11199B44F08527375e33dA925CfD7d + +PYTH_FEED_ID=0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace + +PRIVATE_KEY= +PYTH_ADDRESS= +ENTROPY_ADDRESS=0x41c9e39574F40Ad34c79f1C99B66A45eFB830d4c +ETH_USD_FEED_ID=0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace + +ETHERSCAN_API_KEY= +NETWORK=base-sepolia \ No newline at end of file diff --git a/entropy/chaos-lp-uniswap-v4/.gitignore b/entropy/chaos-lp-uniswap-v4/.gitignore new file mode 100644 index 0000000..726c401 --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/.gitignore @@ -0,0 +1,7 @@ +node_modules +broadcast +cache +target +.env +.env.local +.env.*.local \ No newline at end of file diff --git a/entropy/chaos-lp-uniswap-v4/README.md b/entropy/chaos-lp-uniswap-v4/README.md new file mode 100644 index 0000000..6f9e318 --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/README.md @@ -0,0 +1,386 @@ +# Chaos LP — Uniswap v4 with Pyth Price Feeds + Entropy (EthGlobal Buenos Aires) + +This directory is a self-contained example for the Pyth hackathon, showing how +to combine **Pyth Price Feeds (pull oracle)** and **Pyth Entropy** to build a +MEV-resistant Uniswap v4 LP strategy (“Chaos LP”). + +This is the same project as `chaos-lp` in [reymom/chaos-lp-ethglobal-ba](https://github.com/reymom/chaos-lp-ethglobal-ba), adapted to live +inside `pyth-examples/entropy/chaos-lp-uniswap-v4`. + +This repository contains a complete demonstration of how to combine **Pyth Price Feeds (pull oracle)** and **Pyth Entropy** to build a **MEV-resistant Uniswap v4 Liquidity Provider** (“Chaos LP”). +The goal is to show how oracle-driven price updates + on-chain randomness produce **unpredictable LP bands**, reducing MEV extraction opportunities. + +This README is designed for the **Pyth Bounty Submission**, including the **Price Feeds Track**, **Entropy Track**, and **Most Innovative Integration** categories. + +# 🎯 Summary + +Chaos LP introduces **randomized liquidity ranges** in a Uniswap v4 pool. +The hook: + +- Pulls price data from **Pyth Hermes** +- Uses **updatePriceFeeds()** on-chain +- Consumes the fresh price feed +- Requests random numbers from **Pyth Entropy** +- Randomizes the LP tick bands +- Adds liquidity via the Uniswap v4 PoolManager + +On top of that: + +- A TypeScript chaos client (scripts/requestChaos.ts) triggers the full flow live on Base Sepolia, via `npm run request:chaos:base`. +- A companion Rust tool (`mev-sim`) performs Monte Carlo simulations of MEV behavior and shows that Chaos LP dramatically reduces MEV profitability. + +# 🏗 Architecture Overview + +### Components + +| Component | Description | +| -------------------------------- | ------------------------------------------------------------------------------------------------ | +| **ChaosHook.sol** | Uniswap v4 hook that pulls Pyth price feeds + Pyth Entropy randomness | +| **ChaosPoolManagerDeployer.sol** | Deploys PoolManager + tokens + ChaosHook + initializes pool | +| **Hermes client (ts)** | `requestChaos.ts` fetches Hermes bytes and calls `requestChaosWithPyth` on Base Sepolia on-chain | +| **mev-sim (Rust)** | Monte Carlo MEV simulation comparing Normal LP vs Chaos LP | +| **Deploy scripts** | Foundry scripts to deploy to Base Sepolia (incl. `DeployChaosBaseSepolia.s.sol`) | + +# 🔌 Pyth Price Feed Integration (Pull Oracle) + +Chaos LP **fully implements the pull oracle pattern** required for the bounty. + +### ✔ 1. Fetch price data from Hermes + +The system includes a simple Rust Hermes client (`requestChaos.rs` planned version + CLI snippet) that: + +```bash +curl "https://hermes.pyth.network/v2/updates/price/latest?ids[]=$ETH_USD_FEED_ID" | jq -r '.binary.data[]' > update.bin +``` + +This produces `bytes[]` blobs that the hook accepts. + +We also provide a Rust example (shortened): + +```rust +let updates = hermes_client.fetch_latest_price_updates(feed_id)?; +chaos_hook.requestChaosWithPyth(pool_key, updates, MAX_AGE).send().await?; +``` + +### ✔ 2. Push update on-chain via `updatePriceFeeds` + +In `ChaosHook`: + +```solidity +uint256 pythFee = pyth.getUpdateFee(updateData); +pyth.updatePriceFeeds{value: pythFee}(updateData); +``` + +Fully compliant with Pyth’s EVM Pull method. + +### ✔ 3. Consume the fresh price feed + +```solidity +PythStructs.Price memory price = pyth.getPriceNoOlderThan(feedId, maxAge); +int64 expo = price.expo; +int64 priceInt = price.price; +``` + +This is used to compute the latest tick for Uniswap v4. + +### ✔ 4. Price pusher script + +For the full demo, we use a dedicated script: + +```bash +npm run request:chaos:base +``` + +which runs: + +``` +"scripts": { + "request:chaos:base": "NETWORK=base-sepolia ts-node scripts/requestChaos.ts" +} +``` + +This script: + +- Fetches Hermes updates +- Calculates pythFee on-chain +- Calls requestChaosWithPyth with the correct PoolKey + bytes[] updates +- Triggers both Pyth Price Feeds + Entropy in one transaction + +This completes **all required steps** to qualify for the **Pyth Price Feed Pull Track**. + +## 🔮 Pyth Entropy Integration + +ChaosHook implements the **IEntropyConsumer** pattern: + +```solidity +function getEntropy() external view returns (address) { + return address(entropy); +} +``` + +Randomness is requested inside `requestChaosWithPyth`: + +```solidity +uint128 entropyFee = entropy.getFeeV2(); +uint64 seq = entropy.requestV2{value: entropyFee}(); +pendingRequests[seq] = key; +``` + +Entropy callback: + +```solidity +function entropyCallback( + uint64 sequenceNumber, + address /*provider*/, + bytes32 randomNumber +) internal override { + PoolKey memory key = pendingRequests[sequenceNumber]; + // ... + int24 centerTick = _getLatestTick(); + + int256 baseOffset = _mapRandomNumber(randomNumber, MIN_OFFSET, MAX_OFFSET); + if ((uint256(randomNumber) & 1) == 0) { + baseOffset = -baseOffset; + } + + int24 rawLower = centerTick - int24(baseOffset); + int24 rawUpper = centerTick + int24(baseOffset); + + int24 tickLower = _snapAndClamp(rawLower, tickSpacing); + int24 tickUpper = _snapAndClamp(rawUpper, tickSpacing); + + poolManager.modifyLiquidity( + key, + ModifyLiquidityParams({ + tickLower: tickLower, + tickUpper: tickUpper, + liquidityDelta: LIQUIDITY_DELTA, + salt: bytes32(0) + }), + "" + ); + + emit ChaosPositionPlanned( + sequenceNumber, + poolId, + centerTick, + tickLower, + tickUpper, + randomNumber + ); +} +``` + +The entire liquidity band generation depends on on-chain randomness: + +- Each Chaos request maps an Entropy random number to a tick offset +- Bands are centred around the current Pyth tick, but randomized in width and direction + +This fulfils the requirements for the **Pyth Entropy track**. + +## 🦄 Uniswap v4 Integration + +ChaosHook is a minimal but full-featured v4 hook: + +- Implements `beforeAddLiquidity` permissions (no-op so normal LP adds still work) +- Computes oracle tick via Pyth +- Uses Entropy randomness to randomize tick offsets +- Calls `poolManager.modifyLiquidity` to add liquidity + +A Uniswap v4 system is deployed using: + +- `PoolManager.sol` +- `TestToken.sol` +- `ChaosPoolManagerDeployer.sol` (local deployer for tests / prototyping) +- `script/DeployChaosBaseSepolia.s.sol` (production-style deploy on Base Sepolia) + +The included deployment scripts set this up automatically. + +## 🧪 Local Anvil Fork + MEV Simulation + +For the MEV simulations we run Chaos LP against a **local Anvil fork of Base** plus local mocks (MockPyth + MockEntropy). This lets us iterate quickly without touching the real testnet. + +### 1. Start Anvil forked from Base + +```bash +export BASE_RPC="https://base-mainnet.g.alchemy.com/v2/" + +anvil \ + --fork-url $BASE_RPC \ + --fork-block-number 20000000 \ + --chain-id 8453 +``` + +Keep this Anvil instance running in its own terminal. + +### 2. Deploy the local Chaos system (PoolManager + tokens + mocks) + +From another terminal, deploy the full local stack to the fork: + +```bash +export DEPLOYER_PK=0x... # anvil-funded key (same one Anvil prints on startup) + +forge script script/DeployChaosSystem.s.sol:DeployChaosSystem \ + --rpc-url http://127.0.0.1:8545 \ + --private-key $DEPLOYER_PK \ + --broadcast \ + -vv +``` + +This script: + +- Deploys PoolManager +- Deploys two TestToken ERC-20s +- Deploys MockPyth + MockEntropy +- Deploys ChaosHook wired to the mocks +- Initializes a v4 pool and writes addresses to deployments/local.json + +## 📊 MEV Simulation (Rust) + +The `mev-sim/` folder contains a **complete Monte Carlo MEV simulator**. + +### What it does: + +- Pulls live oracle ticks from on-chain ChaosHook (Base Sepolia) +- Generates thousands of Chaos LP bands (randomized) +- Compares: + - Attacker overlap probability + - Expected attacker payoff (relative units) + - Success rate of profitable strategies + +### Key Results (10k simulations) + +``` +┌───────────────────────┬──────────────┬──────────────┬──────────────┐ +│ Metric │ Normal LP │ Chaos LP │ Change │ +├───────────────────────┼──────────────┼──────────────┼──────────────┤ +│ Avg MEV payoff │ 1.0000x │ 0.0376x │ -96.2% │ +│ Max MEV payoff │ 1.0000x │ 1.0000x │ │ +│ MEV success rate │ 100.0% │ 7.5% │ -92.5% │ +│ Predictability │ High │ Chaotic │ │ +└───────────────────────┴──────────────┴──────────────┴──────────────┘ +``` + +Chaos LP massively reduces MEV success probability and expected payoff. + +### Visual Summary Dashboard + +The simulator produces `chaos_mev_dashboard.png`, showing: + +- Expected attacker payoff comparison +- Attacker success rate comparison + +Both clearly illustrate Chaos LP’s MEV resistance. + +## 🚀 Deployment Guide (Base Sepolia) + +We include a full deployment script: + +``` +script/DeployChaosBaseSepolia.s.sol +``` + +- Deploys: + - `PoolManager` + - Two `TestTokens` + - `ChaosHookDeployer` + - `ChaosHook` +- Initializes a Uniswap v4 pool with: + - `fee = 3000` + - `tickSpacing = 10` + - `hooks = ChaosHook` +- Wires in real Pyth endpoints on Base Sepolia: + - `PYTH_ADDRESS` + - `ENTROPY_ADDRESS` + - `ETH_USD_FEED_ID` +- Writes `deployments/base-sepolia.json` with all deployed addresses + +Base Sepolia Pyth endpoints used: + +| Component | Address | +| ----------------- | ------------------ | +| Pyth Price Oracle | `$PYTH_ADDRESS` | +| Pyth Entropy | `$ENTROPY_ADDRESS` | +| ETH/USD Feed ID | `$ETH_USD_FEED_ID` | + +### Environment: + +```bash +export BASE_SEPOLIA_RPC_URL="https://base-sepolia.g.alchemy.com/v2/" +export PRIVATE_KEY=0x +export PYTH_ADDRESS=0xA2aa501b19aff244D90cc15a4Cf739D2725B5729 +export ENTROPY_ADDRESS=0x41c9e39574F40Ad34c79f1C99B66A45eFB830d4c +export ETH_USD_FEED_ID=0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace +export BASESCAN_API_KEY= +``` + +### Deploy + verify + +```bash +forge script script/DeployChaosBaseSepolia.s.sol:DeployChaosBaseSepolia \ + --rpc-url $BASE_SEPOLIA_RPC_URL \ + --private-key $PRIVATE_KEY \ + --chain-id 84532 \ + --broadcast \ + --verify \ + -vv +``` + +This: + +- Deploys the full Chaos system +- Verifies all contracts on Base Sepolia (Basescan) +- Writes `deployments/base-sepolia.json` used by the client script + +## Deployments + +The contracts are deployed to base sepolia: + +| Network | Chain ID | PoolManager | ChaosHook | Token0 | Token1 | Pyth | Entropy | +| ------------ | -------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| Base Sepolia | 84532 | `0xB693223F321760fD4FE00DDF8D4168f95A11035D` | `0xD4ED3f079E04f681F8c3C16D4589c4eF82AFC800` | `0xE47bC56b07f1E3D4faB5f16bD3Be53A8B6470d2E` | `0x51Ea2928c87328D6Df0e4569DcC60b78EcEc725f` | `0xA2aa501b19aff244D90cc15a4Cf739D2725B5729` | `0x41c9e39574F40Ad34c79f1C99B66A45eFB830d4c` | + +# 🧪 Chaos LP In Action (End-to-End Flow) + +1. Fetch latest price update from Hermes +2. Run `requestChaosWithPyth` +3. Hook updates price feed on-chain +4. Hook requests entropy +5. Entropy callback fires +6. Latest price → latest tick → band randomized → liquidity added +7. MEV simulator confirms highly randomized bands + +## Run Chaos on Base Sepolia + +```bash +npm run request:chaos:base +``` + +Typical output: + +```bash +🚀 Using network: base-sepolia +📁 Deployment file: deployments/base-sepolia.json +💰 Pyth fee: 10 +🎲 Entropy fee: 26745271200001 +📦 totalFee: 26745271200011 +📨 Chaos tx: 0x56a2993a4909d36c957e18874c90b3e82cf2dd8ff433b2aefa26648d56c322c1 +Chaos LP request mined +✅ Chaos LP request mined on Base Sepolia! +``` + +This one command is the live demo of: + +- Pyth Hermes → on-chain price update +- Pyth Entropy → on-chain randomness +- Uniswap v4 hook → randomized liquidity band placement + +# 🏁 Final Notes + +This project: + +- Uses **Pyth Price Feeds (Pull method)** +- Uses **Pyth Entropy** +- Demonstrates **on-chain randomness applied to Uniswap v4** +- Executes a **quantitative MEV study** +- Deploys to a real testnet (**Base Sepolia**) diff --git a/entropy/chaos-lp-uniswap-v4/contracts/ChaosHook.sol b/entropy/chaos-lp-uniswap-v4/contracts/ChaosHook.sol new file mode 100644 index 0000000..ef3eee9 --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/contracts/ChaosHook.sol @@ -0,0 +1,363 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.24; + +import {BaseHook} from "v4-periphery/src/utils/BaseHook.sol"; +import {Hooks} from "v4-core/src/libraries/Hooks.sol"; +import {TickMath} from "v4-core/src/libraries/TickMath.sol"; +import {IPoolManager} from "v4-core/src/interfaces/IPoolManager.sol"; +import {PoolKey} from "v4-core/src/types/PoolKey.sol"; +import {PoolId, PoolIdLibrary} from "v4-core/src/types/PoolId.sol"; +import {ModifyLiquidityParams} from "v4-core/src/types/PoolOperation.sol"; + +import { + IEntropyConsumer +} from "@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol"; +import {IEntropyV2} from "@pythnetwork/entropy-sdk-solidity/IEntropyV2.sol"; +import {IPyth} from "@pythnetwork/pyth-sdk-solidity/IPyth.sol"; +import {PythStructs} from "@pythnetwork/pyth-sdk-solidity/PythStructs.sol"; + +contract ChaosHook is BaseHook, IEntropyConsumer { + using PoolIdLibrary for PoolKey; + + /// @dev Entropy contract used for randomness. + IEntropyV2 public immutable entropy; + + /// @dev Pyth price oracle. + IPyth public immutable pyth; + + /// @dev Pyth price feed id for the reference pair (e.g. ETH/USD). + bytes32 public immutable priceFeedId; + + /// @dev Sequence number => poolKey mapping. + mapping(uint64 => PoolKey) public pendingRequests; + + /// @dev Fixed liquidity delta per Chaos position for the demo. + int128 public constant LIQUIDITY_DELTA = 1e18; + + /// @dev Bounds for random offset in ticks around the oracle tick. + int256 public constant MIN_OFFSET = 500; // ~0.5% if tickSpacing ~10 + int256 public constant MAX_OFFSET = 2500; // wider tail for "chaos" feel + + event ChaosRequestQueued(uint64 indexed sequence, PoolId indexed poolId); + event ChaosPositionPlanned( + uint64 indexed sequence, + PoolId indexed poolId, + int24 centerTick, + int24 tickLower, + int24 tickUpper, + bytes32 randomNumber + ); + event ChaosPriceAndEntropyRequested( + uint64 indexed sequence, + PoolId indexed poolId, + uint64 maxAgeSec + ); + + constructor( + IPoolManager _poolManager, + address _entropyAddress, + address _pythAddress, + bytes32 _pythPriceFeedId + ) BaseHook(_poolManager) { + entropy = IEntropyV2(_entropyAddress); + pyth = IPyth(_pythAddress); + priceFeedId = _pythPriceFeedId; + } + + /// ---------------------- + /// Mocked Test Utilities + /// ---------------------- + + function _setPendingRequestForTest( + uint64 sequence, + PoolKey calldata key + ) external { + pendingRequests[sequence] = key; + } + + /// @dev TEST ONLY — exposes the internal entropyCallback so mocks can call it. + function testEntropyCallback( + uint64 seq, + address provider, + bytes32 rand + ) external { + // Simulate real caller + require(msg.sender == address(entropy), "not entropy"); + entropyCallback(seq, provider, rand); + } + + function getPendingTickSpacing(uint64 seq) external view returns (int24) { + return pendingRequests[seq].tickSpacing; + } + + /// ----------------- + /// Hook permissions + /// ----------------- + + function getHookPermissions() + public + pure + override + returns (Hooks.Permissions memory) + { + // For now we only declare beforeAddLiquidity as implemented, + // but keep it as a no-op. All Chaos logic is driven off Entropy callbacks. + return + Hooks.Permissions({ + beforeInitialize: false, + afterInitialize: false, + beforeAddLiquidity: true, + afterAddLiquidity: false, + beforeRemoveLiquidity: false, + afterRemoveLiquidity: false, + beforeSwap: false, + afterSwap: false, + beforeDonate: false, + afterDonate: false, + beforeSwapReturnDelta: false, + afterSwapReturnDelta: false, + afterAddLiquidityReturnDelta: false, + afterRemoveLiquidityReturnDelta: false + }); + } + + /// @notice No-op hook so normal LP adds still work. + function _beforeAddLiquidity( + address, + PoolKey calldata, + ModifyLiquidityParams calldata, + bytes calldata + ) internal pure override returns (bytes4) { + return BaseHook.beforeAddLiquidity.selector; + } + + /// ----------------------------------------- + /// External interface for the cli / scripts + /// ----------------------------------------- + + /// @notice Single entry point: request randomness for a Chaos LP position. + /// @dev Caller must send at least `entropy.getFeeV2()` native token. + function requestRandom( + PoolKey calldata key + ) external payable returns (uint64 sequence) { + uint128 fee = entropy.getFeeV2(); + require(msg.value >= fee, "ChaosHook: insufficient entropy fee"); + + // Basic V2 request – no extra params. Callback will hit `_entropyCallback`. + sequence = entropy.requestV2{value: fee}(); + pendingRequests[sequence] = key; + + PoolId poolId = key.toId(); + emit ChaosRequestQueued(sequence, poolId); + + // Refund any surplus + if (msg.value > fee) { + unchecked { + payable(msg.sender).transfer(msg.value - fee); + } + } + } + + /// ----------- + /// Pyth price + /// ----------- + + /// @notice Pull Pyth price via Hermes updateData, then request Entropy randomness + /// and queue a Chaos LP request for `key`. + /// @dev This is the function we'll hit from our scripts / MEV sim. + function requestChaosWithPyth( + PoolKey calldata key, + bytes[] calldata updateData, + uint64 maxAgeSec + ) external payable returns (uint64 sequence) { + // 1. Pay Pyth to update the price + uint256 pythFee = pyth.getUpdateFee(updateData); + + // 2. Pay Entropy for randomness + uint128 entropyFee = entropy.getFeeV2(); + + uint256 totalFee = pythFee + uint256(entropyFee); + require( + msg.value >= totalFee, + "ChaosHook: insufficient Pyth+Entropy fee" + ); + + // Update price feeds on-chain (Pyth pull pattern) + pyth.updatePriceFeeds{value: pythFee}(updateData); + + // Sanity-check freshness by consuming via getPriceNoOlderThan + // makes it crystal clear that we use the "pull" API. + // We don't store it because entropyCallback will read again later. + pyth.getPriceNoOlderThan(priceFeedId, maxAgeSec); + + // 3. Request randomness (Entropy V2) + sequence = entropy.requestV2{value: entropyFee}(); + pendingRequests[sequence] = key; + + PoolId poolId = key.toId(); + emit ChaosRequestQueued(sequence, poolId); + + // 4. Refund dust back to the caller + if (msg.value > totalFee) { + unchecked { + payable(msg.sender).transfer(msg.value - totalFee); + } + } + + emit ChaosPriceAndEntropyRequested(sequence, poolId, maxAgeSec); + } + + /// @notice Exposed for testing; wraps internal oracle/helper. + function getLatestTick() external view returns (int24) { + return _getLatestTick(); + } + + function _getLatestTick() internal view returns (int24) { + PythStructs.Price memory p = pyth.getPriceUnsafe(priceFeedId); + + int64 price = p.price; + int32 expo = p.expo; + + // Basic sanity: negative or zero price is invalid for ticks. + require(price > 0, "ChaosHook: invalid oracle price"); + + uint256 normalizedPrice = uint256(int256(price)); + + // Adjust exponent into an integer-like price; this is crude but adequate + // for relative tick placement in the demo. + if (expo < 0) { + normalizedPrice = normalizedPrice / (10 ** uint32(-expo)); + } else if (expo > 0) { + normalizedPrice = normalizedPrice * (10 ** uint32(expo)); + } + + // Convert price into sqrtPriceX96 in a rough way: + // sqrtPriceX96 ≈ sqrt(price) * 2^48 + uint256 sqrtPrice = _sqrt(normalizedPrice); + uint160 sqrtPriceX96 = uint160(sqrtPrice << 96); + + int24 tick = TickMath.getTickAtSqrtPrice(sqrtPriceX96); + return tick; + } + + function _sqrt(uint256 x) internal pure returns (uint256 y) { + if (x == 0) return 0; + // Babylonian method + uint256 z = (x + 1) / 2; + y = x; + while (z < y) { + y = z; + z = (x / z + z) / 2; + } + } + + /// -------------------------------- + /// Entropy consumer implementation + /// -------------------------------- + + /// @dev Required by IEntropyConsumer – returns the Entropy contract address. + function getEntropy() internal view override returns (address) { + return address(entropy); + } + + /// @dev Callback invoked by IEntropyConsumer.entropyCallback(). + function entropyCallback( + uint64 sequenceNumber, + address /*provider*/, + bytes32 randomNumber + ) internal override { + PoolKey memory key = pendingRequests[sequenceNumber]; + require(key.tickSpacing != 0, "ChaosHook: no request"); + + delete pendingRequests[sequenceNumber]; + + PoolId poolId = key.toId(); + + // Derive center tick from Pyth. + int24 centerTick = _getLatestTick(); + + // Map random bytes32 to a signed offset in [MIN_OFFSET, MAX_OFFSET]. + int256 baseOffset = _mapRandomNumber( + randomNumber, + MIN_OFFSET, + MAX_OFFSET + ); + // Random sign bit + if ((uint256(randomNumber) & 1) == 0) { + baseOffset = -baseOffset; + } + + int24 tickSpacing = key.tickSpacing; + require(tickSpacing > 0, "ChaosHook: invalid tickSpacing"); + + int24 rawLower = centerTick - int24(baseOffset); + int24 rawUpper = centerTick + int24(baseOffset); + + int24 tickLower = _snapAndClamp(rawLower, tickSpacing); + int24 tickUpper = _snapAndClamp(rawUpper, tickSpacing); + + // Ensure lower < upper; if not, flip. + if (tickLower >= tickUpper) { + (tickLower, tickUpper) = (tickUpper - tickSpacing, tickUpper); + } + + // Finally, modify liquidity around this randomized band. + poolManager.modifyLiquidity( + key, + ModifyLiquidityParams({ + tickLower: tickLower, + tickUpper: tickUpper, + liquidityDelta: LIQUIDITY_DELTA, + salt: bytes32(0) + }), + "" + ); + + emit ChaosPositionPlanned( + sequenceNumber, + poolId, + centerTick, + tickLower, + tickUpper, + randomNumber + ); + } + + /// -------- + /// Helpers + /// -------- + + function _mapRandomNumber( + bytes32 randomNumber, + int256 minRange, + int256 maxRange + ) internal pure returns (int256) { + require(maxRange >= minRange, "ChaosHook: bad range"); + uint256 span = uint256(maxRange - minRange + 1); + return minRange + int256(uint256(randomNumber) % span); + } + + function _snapAndClamp( + int24 tick, + int24 tickSpacing + ) internal pure returns (int24) { + // Clamp to TickMath bounds first. + int24 minTick = (TickMath.MIN_TICK / tickSpacing) * tickSpacing; + int24 maxTick = (TickMath.MAX_TICK / tickSpacing) * tickSpacing; + + if (tick < minTick) tick = minTick; + if (tick > maxTick) tick = maxTick; + + // Snap to spacing (round down to nearest multiple). + int24 remainder = tick % tickSpacing; + if (remainder != 0) { + tick -= remainder; + } + + // Re-clamp to be safe. + if (tick < minTick) tick = minTick; + if (tick > maxTick) tick = maxTick; + + return tick; + } +} diff --git a/entropy/chaos-lp-uniswap-v4/contracts/ChaosHookDeployer.sol b/entropy/chaos-lp-uniswap-v4/contracts/ChaosHookDeployer.sol new file mode 100644 index 0000000..9a6d196 --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/contracts/ChaosHookDeployer.sol @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.24; + +import {ChaosHook} from "../contracts/ChaosHook.sol"; +import {IPoolManager} from "v4-core/src/interfaces/IPoolManager.sol"; + +contract ChaosHookDeployer { + function deploy( + bytes32 salt, + IPoolManager poolManager, + address entropy, + address pyth, + bytes32 priceFeedId + ) external returns (ChaosHook) { + return + new ChaosHook{salt: salt}(poolManager, entropy, pyth, priceFeedId); + } +} diff --git a/entropy/chaos-lp-uniswap-v4/deployments/base-sepolia.json b/entropy/chaos-lp-uniswap-v4/deployments/base-sepolia.json new file mode 100644 index 0000000..fc568a6 --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/deployments/base-sepolia.json @@ -0,0 +1,8 @@ +{ + "poolManager": "0xB693223F321760fD4FE00DDF8D4168f95A11035D", + "token0": "0xE47bC56b07f1E3D4faB5f16bD3Be53A8B6470d2E", + "token1": "0x51Ea2928c87328D6Df0e4569DcC60b78EcEc725f", + "chaosHook": "0xD4ED3f079E04f681F8c3C16D4589c4eF82AFC800", + "entropy": "0x41c9e39574F40Ad34c79f1C99B66A45eFB830d4c", + "pyth": "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729" +} diff --git a/entropy/chaos-lp-uniswap-v4/deployments/local.json b/entropy/chaos-lp-uniswap-v4/deployments/local.json new file mode 100644 index 0000000..a0d2344 --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/deployments/local.json @@ -0,0 +1,8 @@ +{ + "chaosHook": "0x28724Fa9962cE8a03EfA6771D8dB0Ce0045d8800", + "entropy": "0xC72B1dc2C89148E533b9C25639ace63D828078B1", + "poolManager": "0xe1c032b20c11199B44F08527375e33dA925CfD7d", + "pyth": "0xB23aBA4aEb4c1b5258e625f2177Fef5Dd39aD741", + "token0": "0x48fB74a3f7562857A8c24d0692bFEf4EEa16410B", + "token1": "0xC3F2012cF0eeb13aeE4241e3C2530B9c38428de4" +} \ No newline at end of file diff --git a/entropy/chaos-lp-uniswap-v4/foundry.toml b/entropy/chaos-lp-uniswap-v4/foundry.toml new file mode 100644 index 0000000..56a1973 --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/foundry.toml @@ -0,0 +1,35 @@ +[profile.default] +src = "contracts" +test = "test" +out = "out" +via_ir = true +optimizer = true +optimizer_runs = 200 +libs = ["lib", "node_modules"] +ffi = true +remappings = [ + "forge-std/=lib/forge-std/src/", + + "v4-core/=lib/v4-core/", + "v4-periphery/=lib/v4-periphery/", + "@uniswap/v4-core/=lib/v4-core/", + "@uniswap/v4-periphery/=lib/v4-periphery/", + "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", + + "@pythnetwork/pyth-sdk-solidity/=node_modules/@pythnetwork/pyth-sdk-solidity/", + "@pythnetwork/entropy-sdk-solidity/=node_modules/@pythnetwork/entropy-sdk-solidity/" +] +fs_permissions = [ + { access = "write", path = "./deployments" } +] + +[rpc_endpoints] +base = "${BASE_MAINNET_RPC_URL}" +baseSepolia = "${BASE_SEPOLIA_RPC_URL}" + +[etherscan] +# Basescan mainnet (optional for now) +base = { key = "${BASESCAN_API_KEY}", url = "https://api.basescan.org/api" } + +# Basescan Sepolia +baseSepolia = { key = "${BASESCAN_API_KEY}", url = "https://api-sepolia.basescan.org/api" } \ No newline at end of file diff --git a/entropy/chaos-lp-uniswap-v4/mev-sim/Cargo.lock b/entropy/chaos-lp-uniswap-v4/mev-sim/Cargo.lock new file mode 100644 index 0000000..d645f7f --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/mev-sim/Cargo.lock @@ -0,0 +1,5186 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "aho-corasick" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +dependencies = [ + "memchr", +] + +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "alloy" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f245ea9ef9be909776941c6c0ce829fb6b79cd6bfafa43762af7a702c4eb8ee4" +dependencies = [ + "alloy-consensus", + "alloy-contract", + "alloy-core", + "alloy-eips", + "alloy-genesis", + "alloy-network", + "alloy-node-bindings", + "alloy-provider", + "alloy-pubsub", + "alloy-rpc-client", + "alloy-rpc-types", + "alloy-serde", + "alloy-signer", + "alloy-signer-local", + "alloy-transport", + "alloy-transport-http", + "alloy-transport-ipc", + "alloy-transport-ws", +] + +[[package]] +name = "alloy-chains" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bc32535569185cbcb6ad5fa64d989a47bccb9a08e27284b1f2a3ccf16e6d010" +dependencies = [ + "alloy-primitives", + "num_enum", + "strum", +] + +[[package]] +name = "alloy-consensus" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2179ba839ac532f50279f5da2a6c5047f791f03f6f808b4dfab11327b97902f" +dependencies = [ + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "alloy-trie", + "auto_impl", + "c-kzg", + "derive_more", + "either", + "k256", + "once_cell", + "rand 0.8.5", + "serde", + "serde_with", + "thiserror", +] + +[[package]] +name = "alloy-consensus-any" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aec6f67bdc62aa277e0ec13c1b1fb396c8a62b65c8e9bd8c1d3583cc6d1a8dd3" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-contract" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5084cf42388dff75b255308194f9d3e67ae2a93ce7e24262a512cc4043ac1838" +dependencies = [ + "alloy-consensus", + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-network", + "alloy-network-primitives", + "alloy-primitives", + "alloy-provider", + "alloy-pubsub", + "alloy-rpc-types-eth", + "alloy-sol-types", + "alloy-transport", + "futures", + "futures-util", + "thiserror", +] + +[[package]] +name = "alloy-core" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca96214615ec8cf3fa2a54b32f486eb49100ca7fe7eb0b8c1137cd316e7250a" +dependencies = [ + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-primitives", + "alloy-rlp", + "alloy-sol-types", +] + +[[package]] +name = "alloy-dyn-abi" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdff496dd4e98a81f4861e66f7eaf5f2488971848bb42d9c892f871730245c8" +dependencies = [ + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-type-parser", + "alloy-sol-types", + "itoa", + "serde", + "serde_json", + "winnow", +] + +[[package]] +name = "alloy-eip2124" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "741bdd7499908b3aa0b159bba11e71c8cddd009a2c2eb7a06e825f1ec87900a5" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "crc", + "serde", + "thiserror", +] + +[[package]] +name = "alloy-eip2930" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9441120fa82df73e8959ae0e4ab8ade03de2aaae61be313fbf5746277847ce25" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "borsh", + "serde", +] + +[[package]] +name = "alloy-eip7702" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2919c5a56a1007492da313e7a3b6d45ef5edc5d33416fdec63c0d7a2702a0d20" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "borsh", + "k256", + "serde", + "thiserror", +] + +[[package]] +name = "alloy-eips" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "609515c1955b33af3d78d26357540f68c5551a90ef58fd53def04f2aa074ec43" +dependencies = [ + "alloy-eip2124", + "alloy-eip2930", + "alloy-eip7702", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "auto_impl", + "c-kzg", + "derive_more", + "either", + "serde", + "sha2", +] + +[[package]] +name = "alloy-genesis" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dfec8348d97bd624901c6a4b22bb4c24df8a3128fc3d5e42d24f7b79dfa8588" +dependencies = [ + "alloy-eips", + "alloy-primitives", + "alloy-serde", + "alloy-trie", + "serde", +] + +[[package]] +name = "alloy-hardforks" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3165210652f71dfc094b051602bafd691f506c54050a174b1cba18fb5ef706a3" +dependencies = [ + "alloy-chains", + "alloy-eip2124", + "alloy-primitives", + "auto_impl", + "dyn-clone", +] + +[[package]] +name = "alloy-json-abi" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5513d5e6bd1cba6bdcf5373470f559f320c05c8c59493b6e98912fbe6733943f" +dependencies = [ + "alloy-primitives", + "alloy-sol-type-parser", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-json-rpc" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3994ab6ff6bdeb5aebe65381a8f6a47534789817570111555e8ac413e242ce06" +dependencies = [ + "alloy-primitives", + "alloy-sol-types", + "serde", + "serde_json", + "thiserror", + "tracing", +] + +[[package]] +name = "alloy-network" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0be3aa020a6d3aa7601185b4c1a7d6f3a5228cb5424352db63064b29a455c891" +dependencies = [ + "alloy-consensus", + "alloy-consensus-any", + "alloy-eips", + "alloy-json-rpc", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rpc-types-any", + "alloy-rpc-types-eth", + "alloy-serde", + "alloy-signer", + "alloy-sol-types", + "async-trait", + "auto_impl", + "derive_more", + "futures-utils-wasm", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "alloy-network-primitives" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "498f2ee2eef38a6db0fc810c7bf7daebdf5f2fa8d04adb8bd53e54e91ddbdea3" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-node-bindings" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60dd250ffe9514728daf5e84cac7193e221b85feffe3bea7d45f2b9fcbe6b885" +dependencies = [ + "alloy-genesis", + "alloy-hardforks", + "alloy-network", + "alloy-primitives", + "alloy-signer", + "alloy-signer-local", + "k256", + "rand 0.8.5", + "serde_json", + "tempfile", + "thiserror", + "tracing", + "url", +] + +[[package]] +name = "alloy-primitives" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "355bf68a433e0fd7f7d33d5a9fc2583fde70bf5c530f63b80845f8da5505cf28" +dependencies = [ + "alloy-rlp", + "bytes", + "cfg-if", + "const-hex", + "derive_more", + "foldhash 0.2.0", + "hashbrown 0.16.0", + "indexmap 2.11.1", + "itoa", + "k256", + "keccak-asm", + "paste", + "proptest", + "rand 0.9.2", + "ruint", + "rustc-hash", + "serde", + "sha3", + "tiny-keccak", +] + +[[package]] +name = "alloy-provider" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6ba76d476f475668925f858cc4db51781f12abdaa4e0274eb57a09f574e869" +dependencies = [ + "alloy-chains", + "alloy-consensus", + "alloy-eips", + "alloy-json-rpc", + "alloy-network", + "alloy-network-primitives", + "alloy-node-bindings", + "alloy-primitives", + "alloy-pubsub", + "alloy-rpc-client", + "alloy-rpc-types-anvil", + "alloy-rpc-types-debug", + "alloy-rpc-types-eth", + "alloy-rpc-types-trace", + "alloy-rpc-types-txpool", + "alloy-signer", + "alloy-sol-types", + "alloy-transport", + "alloy-transport-http", + "alloy-transport-ipc", + "alloy-transport-ws", + "async-stream", + "async-trait", + "auto_impl", + "dashmap", + "either", + "futures", + "futures-utils-wasm", + "lru", + "parking_lot", + "pin-project", + "reqwest 0.12.24", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", + "url", + "wasmtimer", +] + +[[package]] +name = "alloy-pubsub" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04135d2fd7fa1fba3afe9f79ec2967259dbc0948e02fa0cd0e33a4a812e2cb0a" +dependencies = [ + "alloy-json-rpc", + "alloy-primitives", + "alloy-transport", + "bimap", + "futures", + "parking_lot", + "serde", + "serde_json", + "tokio", + "tokio-stream", + "tower", + "tracing", + "wasmtimer", +] + +[[package]] +name = "alloy-rlp" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f70d83b765fdc080dbcd4f4db70d8d23fe4761f2f02ebfa9146b833900634b4" +dependencies = [ + "alloy-rlp-derive", + "arrayvec", + "bytes", +] + +[[package]] +name = "alloy-rlp-derive" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64b728d511962dda67c1bc7ea7c03736ec275ed2cf4c35d9585298ac9ccf3b73" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "alloy-rpc-client" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6a6985b48a536b47aa0aece56e6a0f49240ce5d33a7f0c94f1b312eda79aa1" +dependencies = [ + "alloy-json-rpc", + "alloy-primitives", + "alloy-pubsub", + "alloy-transport", + "alloy-transport-http", + "alloy-transport-ipc", + "alloy-transport-ws", + "async-stream", + "futures", + "pin-project", + "reqwest 0.12.24", + "serde", + "serde_json", + "tokio", + "tokio-stream", + "tower", + "tracing", + "tracing-futures", + "url", + "wasmtimer", +] + +[[package]] +name = "alloy-rpc-types" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bf27873220877cb15125eb6eec2f86c6e9b41473aca85844bd3d9d755bfc0a0" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types-anvil", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", + "alloy-rpc-types-trace", + "alloy-rpc-types-txpool", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-rpc-types-anvil" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c349f7339476f13e23308111dfeb67d136c11e7b2a6b1d162f6a124ad4ffb9b" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-rpc-types-any" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1a40595b927dfb07218459037837dbc8de8500a26024bb6ff0548dd2ccc13e0" +dependencies = [ + "alloy-consensus-any", + "alloy-rpc-types-eth", + "alloy-serde", +] + +[[package]] +name = "alloy-rpc-types-debug" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05525519bd7f37f98875354f0b3693d3ad3c7a7f067e3b8946777920be15cb5b" +dependencies = [ + "alloy-primitives", + "serde", +] + +[[package]] +name = "alloy-rpc-types-engine" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4235d79af20fe5583ca26096258fe9307571a345745c433cfd8c91b41aa2611e" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "derive_more", + "rand 0.8.5", + "serde", + "strum", +] + +[[package]] +name = "alloy-rpc-types-eth" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2a9f64e0f69cfb6029e2a044519a1bdd44ce9fc334d5315a7b9837f7a6748e5" +dependencies = [ + "alloy-consensus", + "alloy-consensus-any", + "alloy-eips", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "alloy-sol-types", + "itertools 0.14.0", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "alloy-rpc-types-trace" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bccbe4594eaa2d69d21fa0b558c44e36202e599eb209da70b405415cb37a354" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-serde", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "alloy-rpc-types-txpool" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56b8de4afea88d9ca1504b9dee40ffae69a2364aed82ab6e88e4348b41f57f6b" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-serde" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4dba6ff08916bc0a9cbba121ce21f67c0b554c39cf174bc7b9df6c651bd3c3b" +dependencies = [ + "alloy-primitives", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-signer" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c580da7f00f3999e44e327223044d6732358627f93043e22d92c583f6583556" +dependencies = [ + "alloy-primitives", + "async-trait", + "auto_impl", + "either", + "elliptic-curve", + "k256", + "thiserror", +] + +[[package]] +name = "alloy-signer-local" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a00f0f07862bd8f6bc66c953660693c5903062c2c9d308485b2a6eee411089e7" +dependencies = [ + "alloy-consensus", + "alloy-network", + "alloy-primitives", + "alloy-signer", + "async-trait", + "k256", + "rand 0.8.5", + "thiserror", +] + +[[package]] +name = "alloy-sol-macro" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3ce480400051b5217f19d6e9a82d9010cdde20f1ae9c00d53591e4a1afbb312" +dependencies = [ + "alloy-sol-macro-expander", + "alloy-sol-macro-input", + "proc-macro-error2", + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "alloy-sol-macro-expander" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d792e205ed3b72f795a8044c52877d2e6b6e9b1d13f431478121d8d4eaa9028" +dependencies = [ + "alloy-json-abi", + "alloy-sol-macro-input", + "const-hex", + "heck", + "indexmap 2.11.1", + "proc-macro-error2", + "proc-macro2", + "quote", + "syn 2.0.111", + "syn-solidity", + "tiny-keccak", +] + +[[package]] +name = "alloy-sol-macro-input" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bd1247a8f90b465ef3f1207627547ec16940c35597875cdc09c49d58b19693c" +dependencies = [ + "alloy-json-abi", + "const-hex", + "dunce", + "heck", + "macro-string", + "proc-macro2", + "quote", + "serde_json", + "syn 2.0.111", + "syn-solidity", +] + +[[package]] +name = "alloy-sol-type-parser" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "954d1b2533b9b2c7959652df3076954ecb1122a28cc740aa84e7b0a49f6ac0a9" +dependencies = [ + "serde", + "winnow", +] + +[[package]] +name = "alloy-sol-types" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70319350969a3af119da6fb3e9bddb1bce66c9ea933600cb297c8b1850ad2a3c" +dependencies = [ + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-macro", + "serde", +] + +[[package]] +name = "alloy-transport" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e1f1a55f9ff9a48aa0b4a8c616803754620010fbb266edae2f4548f4304373b" +dependencies = [ + "alloy-json-rpc", + "base64 0.22.1", + "derive_more", + "futures", + "futures-utils-wasm", + "parking_lot", + "serde", + "serde_json", + "thiserror", + "tokio", + "tower", + "tracing", + "url", + "wasmtimer", +] + +[[package]] +name = "alloy-transport-http" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "171b3d8824b6697d6c8325373ec410d230b6c59ce552edfbfabe4e7b8a26aac3" +dependencies = [ + "alloy-json-rpc", + "alloy-transport", + "reqwest 0.12.24", + "serde_json", + "tower", + "tracing", + "url", +] + +[[package]] +name = "alloy-transport-ipc" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8a71043836f2144e1fe30f874eb2e9d71d2632d530e35b09fadbf787232f3f4" +dependencies = [ + "alloy-json-rpc", + "alloy-pubsub", + "alloy-transport", + "bytes", + "futures", + "interprocess", + "pin-project", + "serde", + "serde_json", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "alloy-transport-ws" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdde5b241745076bcbf2fcad818f2c42203bd2c5f4b50ea43b628ccbd2147ad6" +dependencies = [ + "alloy-pubsub", + "alloy-transport", + "futures", + "http 1.3.1", + "rustls", + "serde_json", + "tokio", + "tokio-tungstenite", + "tracing", + "ws_stream_wasm", +] + +[[package]] +name = "alloy-trie" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "983d99aa81f586cef9dae38443245e585840fcf0fc58b09aee0b1f27aed1d500" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "arrayvec", + "derive_more", + "nybbles", + "serde", + "smallvec", + "tracing", +] + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anstream" +version = "0.6.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" + +[[package]] +name = "anstyle-parse" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" +dependencies = [ + "anstyle", + "once_cell_polyfill", + "windows-sys 0.61.2", +] + +[[package]] +name = "anyhow" +version = "1.0.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" + +[[package]] +name = "ark-ff" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6" +dependencies = [ + "ark-ff-asm 0.3.0", + "ark-ff-macros 0.3.0", + "ark-serialize 0.3.0", + "ark-std 0.3.0", + "derivative", + "num-bigint", + "num-traits", + "paste", + "rustc_version 0.3.3", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +dependencies = [ + "ark-ff-asm 0.4.2", + "ark-ff-macros 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", + "digest 0.10.7", + "itertools 0.10.5", + "num-bigint", + "num-traits", + "paste", + "rustc_version 0.4.1", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-asm" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" +dependencies = [ + "num-bigint", + "num-traits", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +dependencies = [ + "num-bigint", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-serialize" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6c2b318ee6e10f8c2853e73a83adc0ccb88995aa978d8a3408d492ab2ee671" +dependencies = [ + "ark-std 0.3.0", + "digest 0.9.0", +] + +[[package]] +name = "ark-serialize" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +dependencies = [ + "ark-std 0.4.0", + "digest 0.10.7", + "num-bigint", +] + +[[package]] +name = "ark-std" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + +[[package]] +name = "ark-std" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +dependencies = [ + "serde", +] + +[[package]] +name = "async-stream" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "async-trait" +version = "0.1.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "async_io_stream" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" +dependencies = [ + "futures", + "pharos", + "rustc_version 0.4.1", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "auto_impl" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "autocfg" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64ct" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" + +[[package]] +name = "bimap" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "230c5f1ca6a325a32553f8640d31ac9b49f2411e901e427570154868b46da4f7" + +[[package]] +name = "bit-set" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "blst" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcdb4c7013139a150f9fc55d123186dbfaba0d912817466282c73ac49e71fb45" +dependencies = [ + "cc", + "glob", + "threadpool", + "zeroize", +] + +[[package]] +name = "borsh" +version = "1.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce" +dependencies = [ + "borsh-derive", + "cfg_aliases", +] + +[[package]] +name = "borsh-derive" +version = "1.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdd1d3c0c2f5833f22386f252fe8ed005c7f59fdcddeef025c01b4c3b9fd9ac3" +dependencies = [ + "once_cell", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "bumpalo" +version = "3.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" + +[[package]] +name = "byte-slice-cast" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d" + +[[package]] +name = "bytemuck" +version = "1.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" +dependencies = [ + "serde", +] + +[[package]] +name = "c-kzg" +version = "2.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e00bf4b112b07b505472dbefd19e37e53307e2bfed5a79e0cc161d58ccd0e687" +dependencies = [ + "blst", + "cc", + "glob", + "hex", + "libc", + "once_cell", + "serde", +] + +[[package]] +name = "cc" +version = "1.2.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd405d82c84ff7f35739f175f67d8b9fb7687a0e84ccdc78bd3568839827cf07" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "chrono" +version = "0.4.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" +dependencies = [ + "iana-time-zone", + "js-sys", + "num-traits", + "serde", + "wasm-bindgen", + "windows-link", +] + +[[package]] +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + +[[package]] +name = "colorchoice" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" + +[[package]] +name = "const-hex" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dccd746bf9b1038c0507b7cec21eb2b11222db96a2902c96e8c185d6d20fb9c4" +dependencies = [ + "cfg-if", + "cpufeatures", + "hex", + "proptest", + "serde", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "core-graphics" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-graphics-types", + "foreign-types 0.5.0", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "libc", +] + +[[package]] +name = "core-text" +version = "20.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9d2790b5c08465d49f8dc05c8bcae9fea467855947db39b0f8145c091aaced5" +dependencies = [ + "core-foundation", + "core-graphics", + "foreign-types 0.5.0", + "libc", +] + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crc" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + +[[package]] +name = "crc32fast" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "darling" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.111", +] + +[[package]] +name = "darling_macro" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "dashmap" +version = "6.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" +dependencies = [ + "cfg-if", + "crossbeam-utils", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", +] + +[[package]] +name = "data-encoding" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" + +[[package]] +name = "der" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" +dependencies = [ + "const-oid", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d630bccd429a5bb5a64b5e94f693bfc48c9f8566418fda4c494cc94f911f87cc" +dependencies = [ + "powerfmt", + "serde", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive_more" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", + "unicode-xid", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "dirs" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.61.2", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "dlib" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" +dependencies = [ + "libloading", +] + +[[package]] +name = "doctest-file" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aac81fa3e28d21450aa4d2ac065992ba96a1d7303efbce51a95f4fd175b67562" + +[[package]] +name = "dotenvy" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" + +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + +[[package]] +name = "dwrote" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b35532432acc8b19ceed096e35dfa088d3ea037fe4f3c085f1f97f33b4d02" +dependencies = [ + "lazy_static", + "libc", + "winapi", + "wio", +] + +[[package]] +name = "dyn-clone" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" + +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest 0.10.7", + "elliptic-curve", + "rfc6979", + "serdect", + "signature", + "spki", +] + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +dependencies = [ + "serde", +] + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest 0.10.7", + "ff", + "generic-array", + "group", + "pkcs8", + "rand_core 0.6.4", + "sec1", + "serdect", + "subtle", + "zeroize", +] + +[[package]] +name = "encoding_rs" +version = "0.8.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "env_filter" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bf3c259d255ca70051b30e2e95b5446cdb8949ac4cd22c0d7fd634d89f568e2" +dependencies = [ + "log", + "regex", +] + +[[package]] +name = "env_logger" +version = "0.11.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f" +dependencies = [ + "anstream", + "anstyle", + "env_filter", + "jiff", + "log", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "fastrlp" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", +] + +[[package]] +name = "fastrlp" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce8dba4714ef14b8274c371879b175aa55b16b30f269663f19d576f380018dc4" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", +] + +[[package]] +name = "fdeflate" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "ff" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" +dependencies = [ + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "find-msvc-tools" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844" + +[[package]] +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +dependencies = [ + "byteorder", + "rand 0.8.5", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "flate2" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "float-ord" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce81f49ae8a0482e4c55ea62ebbd7e5a686af544c00b9d090bba3ff9be97b3d" + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + +[[package]] +name = "font-kit" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c7e611d49285d4c4b2e1727b72cf05353558885cc5252f93707b845dfcaf3d3" +dependencies = [ + "bitflags 2.10.0", + "byteorder", + "core-foundation", + "core-graphics", + "core-text", + "dirs", + "dwrote", + "float-ord", + "freetype-sys", + "lazy_static", + "libc", + "log", + "pathfinder_geometry", + "pathfinder_simd", + "walkdir", + "winapi", + "yeslogic-fontconfig-sys", +] + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared 0.1.1", +] + +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared 0.3.1", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + +[[package]] +name = "form_urlencoded" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "freetype-sys" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7edc5b9669349acfda99533e9e0bcf26a51862ab43b08ee7745c55d28eb134" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-executor" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-macro" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "futures-utils-wasm" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" + +[[package]] +name = "generic-array" +version = "0.14.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bb6743198531e02858aeaea5398fcc883e71851fcbcb5a2f773e2fb6cb1edf2" +dependencies = [ + "typenum", + "version_check", + "zeroize", +] + +[[package]] +name = "getrandom" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasip2", +] + +[[package]] +name = "gif" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045" +dependencies = [ + "color_quant", + "weezl", +] + +[[package]] +name = "glob" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "h2" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0beca50380b1fc32983fc1cb4587bfa4bb9e78fc259aad4a0032d2080309222d" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 0.2.12", + "indexmap 2.11.1", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" + +[[package]] +name = "hashbrown" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash 0.1.5", +] + +[[package]] +name = "hashbrown" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" +dependencies = [ + "foldhash 0.2.0", + "serde", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +dependencies = [ + "serde", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "http" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +dependencies = [ + "bytes", + "http 0.2.12", + "pin-project-lite", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http 1.3.1", +] + +[[package]] +name = "http-body-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +dependencies = [ + "bytes", + "futures-core", + "http 1.3.1", + "http-body 1.0.1", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "0.14.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http 0.2.12", + "http-body 0.4.6", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2 0.5.10", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" +dependencies = [ + "atomic-waker", + "bytes", + "futures-channel", + "futures-core", + "http 1.3.1", + "http-body 1.0.1", + "httparse", + "itoa", + "pin-project-lite", + "pin-utils", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper 0.14.32", + "native-tls", + "tokio", + "tokio-native-tls", +] + +[[package]] +name = "hyper-tls" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +dependencies = [ + "bytes", + "http-body-util", + "hyper 1.8.1", + "hyper-util", + "native-tls", + "tokio", + "tokio-native-tls", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52e9a2a24dc5c6821e71a7030e1e14b7b632acac55c40e9d2e082c621261bb56" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "http 1.3.1", + "http-body 1.0.1", + "hyper 1.8.1", + "ipnet", + "libc", + "percent-encoding", + "pin-project-lite", + "socket2 0.6.1", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "log", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "icu_collections" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" + +[[package]] +name = "icu_properties" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99" +dependencies = [ + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899" + +[[package]] +name = "icu_provider" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "image" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" +dependencies = [ + "bytemuck", + "byteorder", + "color_quant", + "jpeg-decoder", + "num-traits", + "png", +] + +[[package]] +name = "impl-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "206a8042aec68fa4a62e8d3f7aa4ceb508177d9324faf261e1959e495b7a1921" +dependencies = [ + "equivalent", + "hashbrown 0.15.5", + "serde", +] + +[[package]] +name = "interprocess" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d941b405bd2322993887859a8ee6ac9134945a24ec5ec763a8a962fc64dfec2d" +dependencies = [ + "doctest-file", + "futures-core", + "libc", + "recvmsg", + "tokio", + "widestring", + "windows-sys 0.52.0", +] + +[[package]] +name = "ipnet" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" + +[[package]] +name = "iri-string" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f867b9d1d896b67beb18518eda36fdb77a32ea590de864f1325b294a6d14397" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "jiff" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be1f93b8b1eb69c77f24bbb0afdf66f54b632ee39af40ca21c4365a1d7347e49" +dependencies = [ + "jiff-static", + "log", + "portable-atomic", + "portable-atomic-util", + "serde", +] + +[[package]] +name = "jiff-static" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03343451ff899767262ec32146f6d559dd759fdadf42ff0e227c7c48f72594b4" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "jpeg-decoder" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00810f1d8b74be64b13dbf3db89ac67740615d6c891f0e7b6179326533011a07" + +[[package]] +name = "js-sys" +version = "0.3.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "k256" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve", + "once_cell", + "serdect", + "sha2", +] + +[[package]] +name = "keccak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "keccak-asm" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "505d1856a39b200489082f90d897c3f07c455563880bc5952e38eabf731c83b6" +dependencies = [ + "digest 0.10.7", + "sha3-asm", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "libc" +version = "0.2.177" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" + +[[package]] +name = "libloading" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" +dependencies = [ + "cfg-if", + "windows-link", +] + +[[package]] +name = "libm" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" + +[[package]] +name = "libredox" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" +dependencies = [ + "bitflags 2.10.0", + "libc", +] + +[[package]] +name = "linux-raw-sys" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" + +[[package]] +name = "litemap" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" + +[[package]] +name = "lru" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465" +dependencies = [ + "hashbrown 0.15.5", +] + +[[package]] +name = "macro-string" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "memchr" +version = "2.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" + +[[package]] +name = "mev-sim" +version = "0.1.0" +dependencies = [ + "alloy", + "anyhow", + "dotenvy", + "env_logger", + "hex", + "plotters", + "rand 0.9.2", + "reqwest 0.11.27", + "serde", + "serde_json", + "tokio", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.61.2", +] + +[[package]] +name = "native-tls" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" +dependencies = [ + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_cpus" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "num_enum" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" +dependencies = [ + "num_enum_derive", + "rustversion", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "nybbles" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8983bb634df7248924ee0c4c3a749609b5abcb082c28fffe3254b3eb3602b307" +dependencies = [ + "alloy-rlp", + "const-hex", + "proptest", + "serde", + "smallvec", +] + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "once_cell_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" + +[[package]] +name = "openssl" +version = "0.10.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328" +dependencies = [ + "bitflags 2.10.0", + "cfg-if", + "foreign-types 0.3.2", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "openssl-probe" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" + +[[package]] +name = "openssl-sys" +version = "0.9.111" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "parity-scale-codec" +version = "3.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" +dependencies = [ + "arrayvec", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "3.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34b4653168b563151153c9e4c08ebed57fb8262bebfa79711552fa983c623e7a" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "parking_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-link", +] + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "pathfinder_geometry" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b7e7b4ea703700ce73ebf128e1450eb69c3a8329199ffbfb9b2a0418e5ad3" +dependencies = [ + "log", + "pathfinder_simd", +] + +[[package]] +name = "pathfinder_simd" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf9027960355bf3afff9841918474a81a5f972ac6d226d518060bba758b5ad57" +dependencies = [ + "rustc_version 0.4.1", +] + +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" + +[[package]] +name = "pest" +version = "2.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbcfd20a6d4eeba40179f05735784ad32bdaef05ce8e8af05f180d45bb3e7e22" +dependencies = [ + "memchr", + "ucd-trie", +] + +[[package]] +name = "pharos" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" +dependencies = [ + "futures", + "rustc_version 0.4.1", +] + +[[package]] +name = "pin-project" +version = "1.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] +name = "plotters" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747" +dependencies = [ + "chrono", + "font-kit", + "image", + "lazy_static", + "num-traits", + "pathfinder_geometry", + "plotters-backend", + "plotters-bitmap", + "plotters-svg", + "ttf-parser", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "plotters-backend" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a" + +[[package]] +name = "plotters-bitmap" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72ce181e3f6bf82d6c1dc569103ca7b1bd964c60ba03d7e6cdfbb3e3eb7f7405" +dependencies = [ + "gif", + "image", + "plotters-backend", +] + +[[package]] +name = "plotters-svg" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670" +dependencies = [ + "plotters-backend", +] + +[[package]] +name = "png" +version = "0.17.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "portable-atomic" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" + +[[package]] +name = "portable-atomic-util" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +dependencies = [ + "portable-atomic", +] + +[[package]] +name = "potential_utf" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +dependencies = [ + "zerovec", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "primitive-types" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" +dependencies = [ + "fixed-hash", + "impl-codec", + "uint", +] + +[[package]] +name = "proc-macro-crate" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" +dependencies = [ + "toml_edit", +] + +[[package]] +name = "proc-macro-error-attr2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "proc-macro-error2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +dependencies = [ + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "proc-macro2" +version = "1.0.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "proptest" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bee689443a2bd0a16ab0348b52ee43e3b2d1b1f931c8aa5c9f8de4c86fbe8c40" +dependencies = [ + "bit-set", + "bit-vec", + "bitflags 2.10.0", + "num-traits", + "rand 0.9.2", + "rand_chacha 0.9.0", + "rand_xorshift", + "regex-syntax", + "rusty-fork", + "tempfile", + "unarray", +] + +[[package]] +name = "quick-error" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" + +[[package]] +name = "quote" +version = "1.0.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", + "serde", +] + +[[package]] +name = "rand" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", + "serde", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.16", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.4", + "serde", +] + +[[package]] +name = "rand_xorshift" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" +dependencies = [ + "rand_core 0.9.3", +] + +[[package]] +name = "recvmsg" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3edd4d5d42c92f0a659926464d4cce56b562761267ecf0f469d85b7de384175" + +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags 2.10.0", +] + +[[package]] +name = "redox_users" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" +dependencies = [ + "getrandom 0.2.16", + "libredox", + "thiserror", +] + +[[package]] +name = "ref-cast" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "regex" +version = "1.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" + +[[package]] +name = "reqwest" +version = "0.11.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +dependencies = [ + "base64 0.21.7", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.32", + "hyper-tls 0.5.0", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls-pemfile", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 0.1.2", + "system-configuration", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg", +] + +[[package]] +name = "reqwest" +version = "0.12.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d0946410b9f7b082a427e4ef5c8ff541a88b357bc6c637c40db3a68ac70a36f" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-core", + "http 1.3.1", + "http-body 1.0.1", + "http-body-util", + "hyper 1.8.1", + "hyper-tls 0.6.0", + "hyper-util", + "js-sys", + "log", + "native-tls", + "percent-encoding", + "pin-project-lite", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 1.0.2", + "tokio", + "tokio-native-tls", + "tower", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", +] + +[[package]] +name = "ring" +version = "0.17.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.16", + "libc", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "rlp" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" +dependencies = [ + "bytes", + "rustc-hex", +] + +[[package]] +name = "ruint" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ecb38f82477f20c5c3d62ef52d7c4e536e38ea9b73fb570a20c5cae0e14bcf6" +dependencies = [ + "alloy-rlp", + "ark-ff 0.3.0", + "ark-ff 0.4.2", + "bytes", + "fastrlp 0.3.1", + "fastrlp 0.4.0", + "num-bigint", + "num-integer", + "num-traits", + "parity-scale-codec", + "primitive-types", + "proptest", + "rand 0.8.5", + "rand 0.9.2", + "rlp", + "ruint-macro", + "serde", + "valuable", + "zeroize", +] + +[[package]] +name = "ruint-macro" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" + +[[package]] +name = "rustc-hash" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustc_version" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +dependencies = [ + "semver 0.11.0", +] + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver 1.0.27", +] + +[[package]] +name = "rustix" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" +dependencies = [ + "bitflags 2.10.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "rustls" +version = "0.23.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f" +dependencies = [ + "once_cell", + "ring", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64 0.21.7", +] + +[[package]] +name = "rustls-pki-types" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94182ad936a0c91c324cd46c6511b9510ed16af436d7b5bab34beab0afd55f7a" +dependencies = [ + "zeroize", +] + +[[package]] +name = "rustls-webpki" +version = "0.103.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + +[[package]] +name = "rustversion" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + +[[package]] +name = "rusty-fork" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc6bf79ff24e648f6da1f8d1f011e9cac26491b619e6b9280f2b47f1774e6ee2" +dependencies = [ + "fnv", + "quick-error", + "tempfile", + "wait-timeout", +] + +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schannel" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "schemars" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9558e172d4e8533736ba97870c4b2cd63f84b382a3d6eb063da41b91cce17289" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array", + "pkcs8", + "serdect", + "subtle", + "zeroize", +] + +[[package]] +name = "security-framework" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +dependencies = [ + "bitflags 2.10.0", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser", +] + +[[package]] +name = "semver" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" + +[[package]] +name = "semver-parser" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2" +dependencies = [ + "pest", +] + +[[package]] +name = "send_wrapper" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" + +[[package]] +name = "serde" +version = "1.0.203" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.203" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "serde_json" +version = "1.0.143" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "3.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c522100790450cf78eeac1507263d0a350d4d5b30df0c8e1fe051a10c22b376e" +dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.11.1", + "schemars 0.9.0", + "schemars 1.1.0", + "serde", + "serde_derive", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "327ada00f7d64abaac1e55a6911e90cf665aa051b9a561c7006c157f4633135e" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "serdect" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177" +dependencies = [ + "base16ct", + "serde", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + +[[package]] +name = "sha2" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + +[[package]] +name = "sha3" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +dependencies = [ + "digest 0.10.7", + "keccak", +] + +[[package]] +name = "sha3-asm" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28efc5e327c837aa837c59eae585fc250715ef939ac32881bcc11677cd02d46" +dependencies = [ + "cc", + "cfg-if", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signal-hook-registry" +version = "1.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7664a098b8e616bdfcc2dc0e9ac44eb231eedf41db4e9fe95d8d32ec728dedad" +dependencies = [ + "libc", +] + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest 0.10.7", + "rand_core 0.6.4", +] + +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + +[[package]] +name = "slab" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" + +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +dependencies = [ + "serde", +] + +[[package]] +name = "socket2" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "socket2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" +dependencies = [ + "libc", + "windows-sys 0.60.2", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "strum" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.111" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn-solidity" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff790eb176cc81bb8936aed0f7b9f14fc4670069a2d371b3e3b0ecce908b2cb3" +dependencies = [ + "paste", + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "tempfile" +version = "3.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" +dependencies = [ + "fastrand", + "getrandom 0.3.4", + "once_cell", + "rustix", + "windows-sys 0.61.2", +] + +[[package]] +name = "thiserror" +version = "2.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "threadpool" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +dependencies = [ + "num_cpus", +] + +[[package]] +name = "time" +version = "0.3.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" + +[[package]] +name = "time-macros" +version = "0.2.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tinystr" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tokio" +version = "1.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408" +dependencies = [ + "bytes", + "libc", + "mio", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2 0.6.1", + "tokio-macros", + "windows-sys 0.61.2", +] + +[[package]] +name = "tokio-macros" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" +dependencies = [ + "rustls", + "tokio", +] + +[[package]] +name = "tokio-stream" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", + "tokio-util", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084" +dependencies = [ + "futures-util", + "log", + "rustls", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tungstenite", + "webpki-roots 0.26.11", +] + +[[package]] +name = "tokio-util" +version = "0.7.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2efa149fe76073d6e8fd97ef4f4eca7b67f599660115591483572e406e165594" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml_datetime" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.23.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7211ff1b8f0d3adae1663b7da9ffe396eabe1ca25f0b0bee42b0da29a9ddce93" +dependencies = [ + "indexmap 2.11.1", + "toml_datetime", + "toml_parser", + "winnow", +] + +[[package]] +name = "toml_parser" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" +dependencies = [ + "winnow", +] + +[[package]] +name = "tower" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper 1.0.2", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-http" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" +dependencies = [ + "bitflags 2.10.0", + "bytes", + "futures-util", + "http 1.3.1", + "http-body 1.0.1", + "iri-string", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + +[[package]] +name = "tracing" +version = "0.1.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "tracing-core" +version = "0.1.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" +dependencies = [ + "once_cell", +] + +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "futures", + "futures-task", + "pin-project", + "tracing", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "ttf-parser" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" + +[[package]] +name = "tungstenite" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13" +dependencies = [ + "bytes", + "data-encoding", + "http 1.3.1", + "httparse", + "log", + "rand 0.9.2", + "rustls", + "rustls-pki-types", + "sha1", + "thiserror", + "utf-8", +] + +[[package]] +name = "typenum" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" + +[[package]] +name = "ucd-trie" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" + +[[package]] +name = "uint" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + +[[package]] +name = "unicode-ident" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" + +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "url" +version = "2.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", +] + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + +[[package]] +name = "valuable" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "wait-timeout" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" +dependencies = [ + "libc", +] + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasip2" +version = "1.0.1+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0" +dependencies = [ + "cfg-if", + "js-sys", + "once_cell", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn 2.0.111", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "wasmtimer" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c598d6b99ea013e35844697fc4670d08339d5cda15588f193c6beedd12f644b" +dependencies = [ + "futures", + "js-sys", + "parking_lot", + "pin-utils", + "slab", + "wasm-bindgen", +] + +[[package]] +name = "web-sys" +version = "0.3.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-roots" +version = "0.26.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" +dependencies = [ + "webpki-roots 1.0.4", +] + +[[package]] +name = "webpki-roots" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2878ef029c47c6e8cf779119f20fcf52bde7ad42a731b2a304bc221df17571e" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "weezl" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" + +[[package]] +name = "widestring" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72069c3113ab32ab29e5584db3c6ec55d416895e60715417b5b883a357c3e471" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-core" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings", +] + +[[package]] +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.5", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm 0.52.6", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.53.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +dependencies = [ + "windows-link", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_i686_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" + +[[package]] +name = "winnow" +version = "0.7.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "wio" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d129932f4644ac2396cb456385cbf9e63b5b30c6e8dc4820bdca4eb082037a5" +dependencies = [ + "winapi", +] + +[[package]] +name = "wit-bindgen" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" + +[[package]] +name = "writeable" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" + +[[package]] +name = "ws_stream_wasm" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c173014acad22e83f16403ee360115b38846fe754e735c5d9d3803fe70c6abc" +dependencies = [ + "async_io_stream", + "futures", + "js-sys", + "log", + "pharos", + "rustc_version 0.4.1", + "send_wrapper", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "yeslogic-fontconfig-sys" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "503a066b4c037c440169d995b869046827dbc71263f6e8f3be6d77d4f3229dbd" +dependencies = [ + "dlib", + "once_cell", + "pkg-config", +] + +[[package]] +name = "yoke" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", + "synstructure", +] + +[[package]] +name = "zerocopy" +version = "0.8.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43fa6694ed34d6e57407afbccdeecfa268c470a7d2a5b0cf49ce9fcc345afb90" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c640b22cd9817fae95be82f0d2f90b11f7605f6c319d16705c459b27ac2cbc26" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", + "synstructure", +] + +[[package]] +name = "zeroize" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "zerotrie" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] diff --git a/entropy/chaos-lp-uniswap-v4/mev-sim/Cargo.toml b/entropy/chaos-lp-uniswap-v4/mev-sim/Cargo.toml new file mode 100644 index 0000000..2aa765e --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/mev-sim/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "mev-sim" +version = "0.1.0" +edition = "2024" + +[dependencies] +alloy = { version = "0.14", features = ["full", "node-bindings"] } +anyhow = "1.0.89" +dotenvy = "0.15" +env_logger = "0.11.5" +tokio = { version = "1.40.0", features = ["full"] } +serde = { version = "=1.0.203", features = ["derive"] } +reqwest = { version = "0.11", features = ["json"] } +serde_json = "1" +hex = "0.4" +rand = "0.9.2" +plotters = "0.3" \ No newline at end of file diff --git a/entropy/chaos-lp-uniswap-v4/mev-sim/README.md b/entropy/chaos-lp-uniswap-v4/mev-sim/README.md new file mode 100644 index 0000000..e5d6792 --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/mev-sim/README.md @@ -0,0 +1,180 @@ +# 📘 Chaos LP MEV Simulator (Rust) + +This folder contains a Rust program that benchmarks **MEV resistance** of the _Chaos LP_ pricing mechanism against a traditional **Normal LP** (Uniswap-v4-style static liquidity band). + +The simulator fetches the **live oracle tick** from anvil-deployed `ChaosHook` smart contract, generates random "chaotic" LP bands, and runs a **Monte-Carlo attack model** to measure how much useful information an MEV attacker can extract. + +The result: +👉 **Chaos LP reduces expected MEV payoff by ~96% and collapses MEV success rate from 100% → ~7.5%.** + +## 🚀 Features + +### ✓ On-chain Integration + +- Reads from your deployed **ChaosHook** contract: + - `getLatestTick()` + - `pyth()` oracle address + - `entropy()` randomness source + +### ✓ Deterministic vs Chaotic Band Modeling + +- **Normal LP**: deterministic band centered on oracle tick +- **Chaos LP**: random offset + same width, clamped + snapped to tick spacing + +### ✓ Attack Overlap Simulation + +For each Chaos LP sample: + +- compute attacker edge (distance from oracle) +- compute band overlap with Normal LP (profitability window) +- store results to CSV +- accumulate statistics + +### ✓ Monte Carlo MEV Model (10,000 runs) + +Outputs: + +- expected attacker payoff (relative) +- attacker success rate (any profitable overlap) +- min/max/avg chaos band edges +- max achievable overlap (worst-case) + +### ✓ Judge-Friendly PNG Visualizations + +Two final plots: + +1. **expected_mev_bar.png** — simple 2-bar payoff comparison +2. **chaos_mev_dashboard.png** — combined payoff + success-rate dashboard + +These are included in the hackathon submission. + +## 📂 Project Structure + +```text +rust/ +├── src/ +│ ├── main.rs # Orchestration only +│ ├── chaos.rs # ABI + tick/band math +│ ├── plotting.rs # Plotting utilities +│ +├── chaos_vs_normal.csv # Generated CSV (10k chaos samples) +├── expected_mev_bar.png # Simple 2-bar visual +├── chaos_mev_dashboard.png # Full judge-ready dashboard +└── README.md # (this file) +``` + +### Module responsibilities + +**src/chaos.rs** + +- `ChaosHook` ABI (alloy `sol!`) +- band construction +- tick snapping/clamping +- intersection logic +- attacker edge computation + +**src/plotting.rs** + +- 2-panel dashboard PNG +- simple bar chart PNG + +**src/main.rs** + +- environment loading +- RPC connection +- Monte-Carlo event loop +- printing results in table format +- generating plots + +## 🛠️ Requirements + +Install system dependencies: + +```bash +sudo apt install pkg-config libfreetype6-dev libfontconfig1-dev +``` + +Install Rust toolchain: + +```bash +rustup install stable +rustup default stable +``` + +## ⚙️ Environment Variables + +Create a `.env` file in this folder: + +```bash +RPC_URL=https://base-sepolia.infura.io/v3/ +PRIVATE_KEY=0x... +CHAOS_HOOK_ADDRESS=0x... +CURRENCY0_ADDRESS=0x... +CURRENCY1_ADDRESS=0x... +``` + +You only need the hook address; currency addresses are logged but not used in simulation. + +## ▶️ Running the Simulator + +```bash +cd rust +cargo run --release +``` + +Output includes: + +- printed summary table +- full CSV dataset +- PNG graphs + +Example (from a real run): + +```text +Avg MEV payoff | 1.0000x | 0.0376x | -96.2% +MEV success rate | 100.0% | 7.5% | -92.5% +Predictability | High | Chaotic +``` + +--- + +## 📊 Simulation Summary (10,000 samples) + +| Metric | Normal LP | Chaos LP | Change | +| ---------------- | --------- | -------- | ------ | +| Avg MEV payoff | 1.0000x | 0.0376x | −96.2% | +| MEV success rate | 100.0% | 7.5% | −92.5% | +| Predictability | High | Chaotic | — | + +### TL;DR + +**Chaos LP destroys MEV predictability.** +Attackers only succeed ~7% of the time and earn ~25× less. + +## 📥 Output Artifacts + +After running `cargo run --release` you get: + +- `chaos_vs_normal.csv` — full simulation dataset +- `expected_mev_bar.png` — simple bar chart +- `chaos_mev_dashboard.png` — judge-ready dashboard + +--- + +## 🧠 Why it Works + +Chaos LP injects **randomized offsets** around the oracle price. +So even if the attacker knows: + +- the oracle price, +- the fee, +- the pool, +- the liquidity width, + +they cannot predict the _actual_ liquidity center. + +This completely breaks time-sensitive sandwich and arbitrage strategies. + +## 📄 License + +MIT — feel free to use this for your research, thesis, or hackathon entries. diff --git a/entropy/chaos-lp-uniswap-v4/mev-sim/abis/ChaosHook.json b/entropy/chaos-lp-uniswap-v4/mev-sim/abis/ChaosHook.json new file mode 100644 index 0000000..f57450b --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/mev-sim/abis/ChaosHook.json @@ -0,0 +1,2462 @@ +{ + "abi": [ + { + "type": "constructor", + "inputs": [ + { + "name": "_poolManager", + "type": "address", + "internalType": "contract IPoolManager" + }, + { + "name": "_entropyAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "_pythAddress", + "type": "address", + "internalType": "address" + }, + { + "name": "_pythPriceFeedId", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "LIQUIDITY_DELTA", + "inputs": [], + "outputs": [{ "name": "", "type": "int128", "internalType": "int128" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_OFFSET", + "inputs": [], + "outputs": [{ "name": "", "type": "int256", "internalType": "int256" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MIN_OFFSET", + "inputs": [], + "outputs": [{ "name": "", "type": "int256", "internalType": "int256" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_entropyCallback", + "inputs": [ + { "name": "sequence", "type": "uint64", "internalType": "uint64" }, + { "name": "provider", "type": "address", "internalType": "address" }, + { "name": "randomNumber", "type": "bytes32", "internalType": "bytes32" } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "_setPendingRequestForTest", + "inputs": [ + { "name": "sequence", "type": "uint64", "internalType": "uint64" }, + { + "name": "key", + "type": "tuple", + "internalType": "struct PoolKey", + "components": [ + { + "name": "currency0", + "type": "address", + "internalType": "Currency" + }, + { + "name": "currency1", + "type": "address", + "internalType": "Currency" + }, + { "name": "fee", "type": "uint24", "internalType": "uint24" }, + { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, + { + "name": "hooks", + "type": "address", + "internalType": "contract IHooks" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "afterAddLiquidity", + "inputs": [ + { "name": "sender", "type": "address", "internalType": "address" }, + { + "name": "key", + "type": "tuple", + "internalType": "struct PoolKey", + "components": [ + { + "name": "currency0", + "type": "address", + "internalType": "Currency" + }, + { + "name": "currency1", + "type": "address", + "internalType": "Currency" + }, + { "name": "fee", "type": "uint24", "internalType": "uint24" }, + { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, + { + "name": "hooks", + "type": "address", + "internalType": "contract IHooks" + } + ] + }, + { + "name": "params", + "type": "tuple", + "internalType": "struct ModifyLiquidityParams", + "components": [ + { "name": "tickLower", "type": "int24", "internalType": "int24" }, + { "name": "tickUpper", "type": "int24", "internalType": "int24" }, + { + "name": "liquidityDelta", + "type": "int256", + "internalType": "int256" + }, + { "name": "salt", "type": "bytes32", "internalType": "bytes32" } + ] + }, + { "name": "delta", "type": "int256", "internalType": "BalanceDelta" }, + { + "name": "feesAccrued", + "type": "int256", + "internalType": "BalanceDelta" + }, + { "name": "hookData", "type": "bytes", "internalType": "bytes" } + ], + "outputs": [ + { "name": "", "type": "bytes4", "internalType": "bytes4" }, + { "name": "", "type": "int256", "internalType": "BalanceDelta" } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "afterDonate", + "inputs": [ + { "name": "sender", "type": "address", "internalType": "address" }, + { + "name": "key", + "type": "tuple", + "internalType": "struct PoolKey", + "components": [ + { + "name": "currency0", + "type": "address", + "internalType": "Currency" + }, + { + "name": "currency1", + "type": "address", + "internalType": "Currency" + }, + { "name": "fee", "type": "uint24", "internalType": "uint24" }, + { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, + { + "name": "hooks", + "type": "address", + "internalType": "contract IHooks" + } + ] + }, + { "name": "amount0", "type": "uint256", "internalType": "uint256" }, + { "name": "amount1", "type": "uint256", "internalType": "uint256" }, + { "name": "hookData", "type": "bytes", "internalType": "bytes" } + ], + "outputs": [{ "name": "", "type": "bytes4", "internalType": "bytes4" }], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "afterInitialize", + "inputs": [ + { "name": "sender", "type": "address", "internalType": "address" }, + { + "name": "key", + "type": "tuple", + "internalType": "struct PoolKey", + "components": [ + { + "name": "currency0", + "type": "address", + "internalType": "Currency" + }, + { + "name": "currency1", + "type": "address", + "internalType": "Currency" + }, + { "name": "fee", "type": "uint24", "internalType": "uint24" }, + { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, + { + "name": "hooks", + "type": "address", + "internalType": "contract IHooks" + } + ] + }, + { + "name": "sqrtPriceX96", + "type": "uint160", + "internalType": "uint160" + }, + { "name": "tick", "type": "int24", "internalType": "int24" } + ], + "outputs": [{ "name": "", "type": "bytes4", "internalType": "bytes4" }], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "afterRemoveLiquidity", + "inputs": [ + { "name": "sender", "type": "address", "internalType": "address" }, + { + "name": "key", + "type": "tuple", + "internalType": "struct PoolKey", + "components": [ + { + "name": "currency0", + "type": "address", + "internalType": "Currency" + }, + { + "name": "currency1", + "type": "address", + "internalType": "Currency" + }, + { "name": "fee", "type": "uint24", "internalType": "uint24" }, + { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, + { + "name": "hooks", + "type": "address", + "internalType": "contract IHooks" + } + ] + }, + { + "name": "params", + "type": "tuple", + "internalType": "struct ModifyLiquidityParams", + "components": [ + { "name": "tickLower", "type": "int24", "internalType": "int24" }, + { "name": "tickUpper", "type": "int24", "internalType": "int24" }, + { + "name": "liquidityDelta", + "type": "int256", + "internalType": "int256" + }, + { "name": "salt", "type": "bytes32", "internalType": "bytes32" } + ] + }, + { "name": "delta", "type": "int256", "internalType": "BalanceDelta" }, + { + "name": "feesAccrued", + "type": "int256", + "internalType": "BalanceDelta" + }, + { "name": "hookData", "type": "bytes", "internalType": "bytes" } + ], + "outputs": [ + { "name": "", "type": "bytes4", "internalType": "bytes4" }, + { "name": "", "type": "int256", "internalType": "BalanceDelta" } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "afterSwap", + "inputs": [ + { "name": "sender", "type": "address", "internalType": "address" }, + { + "name": "key", + "type": "tuple", + "internalType": "struct PoolKey", + "components": [ + { + "name": "currency0", + "type": "address", + "internalType": "Currency" + }, + { + "name": "currency1", + "type": "address", + "internalType": "Currency" + }, + { "name": "fee", "type": "uint24", "internalType": "uint24" }, + { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, + { + "name": "hooks", + "type": "address", + "internalType": "contract IHooks" + } + ] + }, + { + "name": "params", + "type": "tuple", + "internalType": "struct SwapParams", + "components": [ + { "name": "zeroForOne", "type": "bool", "internalType": "bool" }, + { + "name": "amountSpecified", + "type": "int256", + "internalType": "int256" + }, + { + "name": "sqrtPriceLimitX96", + "type": "uint160", + "internalType": "uint160" + } + ] + }, + { "name": "delta", "type": "int256", "internalType": "BalanceDelta" }, + { "name": "hookData", "type": "bytes", "internalType": "bytes" } + ], + "outputs": [ + { "name": "", "type": "bytes4", "internalType": "bytes4" }, + { "name": "", "type": "int128", "internalType": "int128" } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "beforeAddLiquidity", + "inputs": [ + { "name": "sender", "type": "address", "internalType": "address" }, + { + "name": "key", + "type": "tuple", + "internalType": "struct PoolKey", + "components": [ + { + "name": "currency0", + "type": "address", + "internalType": "Currency" + }, + { + "name": "currency1", + "type": "address", + "internalType": "Currency" + }, + { "name": "fee", "type": "uint24", "internalType": "uint24" }, + { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, + { + "name": "hooks", + "type": "address", + "internalType": "contract IHooks" + } + ] + }, + { + "name": "params", + "type": "tuple", + "internalType": "struct ModifyLiquidityParams", + "components": [ + { "name": "tickLower", "type": "int24", "internalType": "int24" }, + { "name": "tickUpper", "type": "int24", "internalType": "int24" }, + { + "name": "liquidityDelta", + "type": "int256", + "internalType": "int256" + }, + { "name": "salt", "type": "bytes32", "internalType": "bytes32" } + ] + }, + { "name": "hookData", "type": "bytes", "internalType": "bytes" } + ], + "outputs": [{ "name": "", "type": "bytes4", "internalType": "bytes4" }], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "beforeDonate", + "inputs": [ + { "name": "sender", "type": "address", "internalType": "address" }, + { + "name": "key", + "type": "tuple", + "internalType": "struct PoolKey", + "components": [ + { + "name": "currency0", + "type": "address", + "internalType": "Currency" + }, + { + "name": "currency1", + "type": "address", + "internalType": "Currency" + }, + { "name": "fee", "type": "uint24", "internalType": "uint24" }, + { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, + { + "name": "hooks", + "type": "address", + "internalType": "contract IHooks" + } + ] + }, + { "name": "amount0", "type": "uint256", "internalType": "uint256" }, + { "name": "amount1", "type": "uint256", "internalType": "uint256" }, + { "name": "hookData", "type": "bytes", "internalType": "bytes" } + ], + "outputs": [{ "name": "", "type": "bytes4", "internalType": "bytes4" }], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "beforeInitialize", + "inputs": [ + { "name": "sender", "type": "address", "internalType": "address" }, + { + "name": "key", + "type": "tuple", + "internalType": "struct PoolKey", + "components": [ + { + "name": "currency0", + "type": "address", + "internalType": "Currency" + }, + { + "name": "currency1", + "type": "address", + "internalType": "Currency" + }, + { "name": "fee", "type": "uint24", "internalType": "uint24" }, + { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, + { + "name": "hooks", + "type": "address", + "internalType": "contract IHooks" + } + ] + }, + { "name": "sqrtPriceX96", "type": "uint160", "internalType": "uint160" } + ], + "outputs": [{ "name": "", "type": "bytes4", "internalType": "bytes4" }], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "beforeRemoveLiquidity", + "inputs": [ + { "name": "sender", "type": "address", "internalType": "address" }, + { + "name": "key", + "type": "tuple", + "internalType": "struct PoolKey", + "components": [ + { + "name": "currency0", + "type": "address", + "internalType": "Currency" + }, + { + "name": "currency1", + "type": "address", + "internalType": "Currency" + }, + { "name": "fee", "type": "uint24", "internalType": "uint24" }, + { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, + { + "name": "hooks", + "type": "address", + "internalType": "contract IHooks" + } + ] + }, + { + "name": "params", + "type": "tuple", + "internalType": "struct ModifyLiquidityParams", + "components": [ + { "name": "tickLower", "type": "int24", "internalType": "int24" }, + { "name": "tickUpper", "type": "int24", "internalType": "int24" }, + { + "name": "liquidityDelta", + "type": "int256", + "internalType": "int256" + }, + { "name": "salt", "type": "bytes32", "internalType": "bytes32" } + ] + }, + { "name": "hookData", "type": "bytes", "internalType": "bytes" } + ], + "outputs": [{ "name": "", "type": "bytes4", "internalType": "bytes4" }], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "beforeSwap", + "inputs": [ + { "name": "sender", "type": "address", "internalType": "address" }, + { + "name": "key", + "type": "tuple", + "internalType": "struct PoolKey", + "components": [ + { + "name": "currency0", + "type": "address", + "internalType": "Currency" + }, + { + "name": "currency1", + "type": "address", + "internalType": "Currency" + }, + { "name": "fee", "type": "uint24", "internalType": "uint24" }, + { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, + { + "name": "hooks", + "type": "address", + "internalType": "contract IHooks" + } + ] + }, + { + "name": "params", + "type": "tuple", + "internalType": "struct SwapParams", + "components": [ + { "name": "zeroForOne", "type": "bool", "internalType": "bool" }, + { + "name": "amountSpecified", + "type": "int256", + "internalType": "int256" + }, + { + "name": "sqrtPriceLimitX96", + "type": "uint160", + "internalType": "uint160" + } + ] + }, + { "name": "hookData", "type": "bytes", "internalType": "bytes" } + ], + "outputs": [ + { "name": "", "type": "bytes4", "internalType": "bytes4" }, + { "name": "", "type": "int256", "internalType": "BeforeSwapDelta" }, + { "name": "", "type": "uint24", "internalType": "uint24" } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "entropy", + "inputs": [], + "outputs": [ + { "name": "", "type": "address", "internalType": "contract IEntropyV2" } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getHookPermissions", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct Hooks.Permissions", + "components": [ + { + "name": "beforeInitialize", + "type": "bool", + "internalType": "bool" + }, + { + "name": "afterInitialize", + "type": "bool", + "internalType": "bool" + }, + { + "name": "beforeAddLiquidity", + "type": "bool", + "internalType": "bool" + }, + { + "name": "afterAddLiquidity", + "type": "bool", + "internalType": "bool" + }, + { + "name": "beforeRemoveLiquidity", + "type": "bool", + "internalType": "bool" + }, + { + "name": "afterRemoveLiquidity", + "type": "bool", + "internalType": "bool" + }, + { "name": "beforeSwap", "type": "bool", "internalType": "bool" }, + { "name": "afterSwap", "type": "bool", "internalType": "bool" }, + { "name": "beforeDonate", "type": "bool", "internalType": "bool" }, + { "name": "afterDonate", "type": "bool", "internalType": "bool" }, + { + "name": "beforeSwapReturnDelta", + "type": "bool", + "internalType": "bool" + }, + { + "name": "afterSwapReturnDelta", + "type": "bool", + "internalType": "bool" + }, + { + "name": "afterAddLiquidityReturnDelta", + "type": "bool", + "internalType": "bool" + }, + { + "name": "afterRemoveLiquidityReturnDelta", + "type": "bool", + "internalType": "bool" + } + ] + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getLatestTick", + "inputs": [], + "outputs": [{ "name": "", "type": "int24", "internalType": "int24" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPendingTickSpacing", + "inputs": [{ "name": "seq", "type": "uint64", "internalType": "uint64" }], + "outputs": [{ "name": "", "type": "int24", "internalType": "int24" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pendingRequests", + "inputs": [{ "name": "", "type": "uint64", "internalType": "uint64" }], + "outputs": [ + { "name": "currency0", "type": "address", "internalType": "Currency" }, + { "name": "currency1", "type": "address", "internalType": "Currency" }, + { "name": "fee", "type": "uint24", "internalType": "uint24" }, + { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, + { + "name": "hooks", + "type": "address", + "internalType": "contract IHooks" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "poolManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IPoolManager" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "priceFeedId", + "inputs": [], + "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "pyth", + "inputs": [], + "outputs": [ + { "name": "", "type": "address", "internalType": "contract IPyth" } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "requestChaosWithPyth", + "inputs": [ + { + "name": "key", + "type": "tuple", + "internalType": "struct PoolKey", + "components": [ + { + "name": "currency0", + "type": "address", + "internalType": "Currency" + }, + { + "name": "currency1", + "type": "address", + "internalType": "Currency" + }, + { "name": "fee", "type": "uint24", "internalType": "uint24" }, + { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, + { + "name": "hooks", + "type": "address", + "internalType": "contract IHooks" + } + ] + }, + { "name": "updateData", "type": "bytes[]", "internalType": "bytes[]" }, + { "name": "maxAgeSec", "type": "uint64", "internalType": "uint64" } + ], + "outputs": [ + { "name": "sequence", "type": "uint64", "internalType": "uint64" } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "requestRandom", + "inputs": [ + { + "name": "key", + "type": "tuple", + "internalType": "struct PoolKey", + "components": [ + { + "name": "currency0", + "type": "address", + "internalType": "Currency" + }, + { + "name": "currency1", + "type": "address", + "internalType": "Currency" + }, + { "name": "fee", "type": "uint24", "internalType": "uint24" }, + { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, + { + "name": "hooks", + "type": "address", + "internalType": "contract IHooks" + } + ] + } + ], + "outputs": [ + { "name": "sequence", "type": "uint64", "internalType": "uint64" } + ], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "testEntropyCallback", + "inputs": [ + { "name": "seq", "type": "uint64", "internalType": "uint64" }, + { "name": "provider", "type": "address", "internalType": "address" }, + { "name": "rand", "type": "bytes32", "internalType": "bytes32" } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "ChaosPositionPlanned", + "inputs": [ + { + "name": "sequence", + "type": "uint64", + "indexed": true, + "internalType": "uint64" + }, + { + "name": "poolId", + "type": "bytes32", + "indexed": true, + "internalType": "PoolId" + }, + { + "name": "centerTick", + "type": "int24", + "indexed": false, + "internalType": "int24" + }, + { + "name": "tickLower", + "type": "int24", + "indexed": false, + "internalType": "int24" + }, + { + "name": "tickUpper", + "type": "int24", + "indexed": false, + "internalType": "int24" + }, + { + "name": "randomNumber", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ChaosPriceAndEntropyRequested", + "inputs": [ + { + "name": "sequence", + "type": "uint64", + "indexed": true, + "internalType": "uint64" + }, + { + "name": "poolId", + "type": "bytes32", + "indexed": true, + "internalType": "PoolId" + }, + { + "name": "maxAgeSec", + "type": "uint64", + "indexed": false, + "internalType": "uint64" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ChaosRequestQueued", + "inputs": [ + { + "name": "sequence", + "type": "uint64", + "indexed": true, + "internalType": "uint64" + }, + { + "name": "poolId", + "type": "bytes32", + "indexed": true, + "internalType": "PoolId" + } + ], + "anonymous": false + }, + { "type": "error", "name": "HookNotImplemented", "inputs": [] }, + { "type": "error", "name": "NotPoolManager", "inputs": [] } + ], + "bytecode": { + "object": "0x6101006040523461030c57604051601f61288138819003918201601f19168301916001600160401b038311848410176103105780849260809460405283398101031261030c578051906001600160a01b038216820361030c5761006460208201610344565b606061007260408401610344565b920151926080525f6101a0610085610324565b8281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e0820152826101008201528261012082015282610140820152826101608201528261018082015201525f6101a06100e3610324565b828152826020820152600160408201528260608201528260808201528260a08201528260c08201528260e0820152826101008201528261012082015282610140820152826101608201528261018082015201526120003016158015906102ff575b80156102ee575b80156102e1575b80156102d4575b80156102c7575b80156102bb575b80156102af575b80156102a3575b8015610297575b801561028b575b801561027f575b8015610273575b8015610267575b610254576001600160a01b0390811660a0521660c05260e0526040516125289081610359823960805181818161019a0152818161021a0152818161026a015281816104d60152818161084a01528181610905015281816115390152818161170a0152611770015260a0518181816102d001528181610a2101528181610f750152818161133101526116c8015260c051818181610151015281816109c40152611cc5015260e051818181610ad4015281816117c60152611c990152f35b630732d7b560e51b5f523060045260245ffd5b50600130161515610198565b50600230161515610191565b5060043016151561018a565b50600830161515610183565b5060103016151561017c565b50602030161515610175565b5060403016151561016e565b50608030161515610167565b5061010030161515610160565b5061020030161515610159565b5061040030161515610152565b50610800301615156001141561014b565b5061100030161515610144565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b604051906101c082016001600160401b0381118382101761031057604052565b51906001600160a01b038216820361030c5756fe6080806040526004361015610012575f80fd5b5f905f3560e01c9081631999bb9e146117b15750806321d0ee701461175d578063259982e5146116f757806347ce07cc146116b357806352a5f1f81461131e578063575e24b4146112c85780635e152a04146112ab57806365b07d581461122d5780636c2bbe7e146108ee5780636fe7e6eb146111f157806371f6919c14610f595780637da44e3c14610e4f5780638e1cf4eb14610e3257806392fcfed7146109455780639f063efc146108ee578063a08d0b3a146108c8578063b2d46b0b14610888578063b47b2fb1146107f0578063b6a8b0fa14610183578063c4e833ce14610688578063c60876e9146102bc578063d1cfa2fb14610299578063dc4c90d314610254578063dc98354e146101e5578063e1b4af69146101835763f98d06f01461013c575f80fd5b346101805780600319360112610180576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b80fd5b5034610180576004906101953661196e565b5050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330392506101d991505057630a85dc2960e01b8152fd5b63570c108560e11b8152fd5b50346101805760e0366003190112610180576101ff6117e9565b5060a036602319011261018057600490610217611948565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036101d957630a85dc2960e01b8152fd5b50346101805780600319360112610180576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346101805780600319360112610180576020604051670de0b6b3a76400008152f35b5034610180576102cb366118a5565b9190507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610655576001600160401b031680835282602052604083209160405161031f816119c5565b60018060a01b038454168152600184015491602082019460018060a01b0384168652604083019362ffffff8160a01c16855260b81c60020b926060810191848352600260018060a01b0391015416936080820194855215610618578588528760205287600260408220828155826001820155015560a08120966103a0611c8a565b6103ad6107d186066123e7565b9060018616156105f0575b845160020b918b8313156105ab5760020b966103d48883611c3b565b9160020b97880191627fffff198312627fffff8413176105975790610407846104018f9796809695612410565b93612410565b928360020b8360020b1215610584575b5060405191610425836119f4565b600290810b80845293810b60208401818152670de0b6b3a7640000604080870191825260608701998a528051632d35e7ed60e11b81529a516001600160a01b0390811660048d01529851891660248c01529d5162ffffff1660448b01529951830b60648a01529251861660848901529251810b60a48801529051900b60c4860152945160e4850152915161010484015261014061012484015261014483018a90529295909282906101649082908c907f0000000000000000000000000000000000000000000000000000000000000000165af1801561057957610544575b50907f0612c296ec519bacdde10c8e228ac2d0c0b5dc400a3bdfcc972b782c062af0cc9360809392604051938452602084015260408301526060820152a380f35b60409081949392943d8311610572575b61055e8183611a2b565b8101031261056e5790915f610503565b8680fd5b503d610554565b6040513d8a823e3d90fd5b61059091925083611c3b565b905f610417565b634e487b7160e01b8d52601160045260248dfd5b60405162461bcd60e51b815260206004820152601e60248201527f4368616f73486f6f6b3a20696e76616c6964207469636b53706163696e6700006044820152606490fd5b90600160ff1b8114610604578a03906103b8565b634e487b7160e01b8b52601160045260248bfd5b60405162461bcd60e51b815260206004820152601560248201527410da185bdcd21bdbdace881b9bc81c995c5d595cdd605a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152600b60248201526a6e6f7420656e74726f707960a81b6044820152606490fd5b5034610180578060031936011261018057806101c0916101a06040516106ad81611a0f565b8281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e0820152826101008201528261012082015282610140820152826101608201528261018082015201526040519061070c82611a0f565b80825260208201918183526040810160018152606082018381526080830184815260a0840185815260c0850186815260e08601908782526101008701928884526101208801948986526101408901968a88526101608a01988b8a526101a06101808c019b8d8d52019b808d5260206040519e8f92835251151591015251151560408d015251151560608c015251151560808b015251151560a08a015251151560c089015251151560e08801525115156101008701525115156101208601525115156101408501525115156101608401525115156101808301525115156101a0820152f35b5034610180576101603660031901126101805761080b6117e9565b5060a03660231901126101805760603660c319011261018057610144356001600160401b0381116108845790610846600492369084016117ff565b50507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036101d957630a85dc2960e01b8152fd5b5080fd5b503461018057602036600319011261018057600160406020926001600160401b036108b161188f565b16815280845220015460b81c60020b604051908152f35b503461018057806003193601126101805760206108e3611c8a565b6040519060020b8152f35b503461018057600490610900366118df565b5050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330393506101d99250505057630a85dc2960e01b8152fd5b50366003190160e081126108845760a0136101805760a435906001600160401b0382116101805736602383011215610180578160040135916001600160401b038311610884576024810190602436918560051b0101116108845760c435926001600160401b038416809403610cb45760405163d47eed4560e01b8152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316602083806109fe858860048401611b32565b0381845afa928315610d38578593610dfa575b506040516341025b3d60e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169290602081600481875afa908115610def57906001600160801b03918891610dc0575b501693610a798582611bd5565b95863410610d6a57833b15610d6657918791610aab93604051809581948293631df3cbc560e31b845260048401611b32565b0391865af18015610d5b57610d43575b5060806044916040519283809263052571af60e51b82527f000000000000000000000000000000000000000000000000000000000000000060048301528a60248301525afa8015610d38579060209291610d0b575b50600460405180948193637b43155d60e01b83525af18015610d00578390610cc0575b6001600160401b0316808452602084905260408420909391506001600160a01b03610b5c611a7f565b82546001600160a01b0319169116178155600181016001600160a01b03610b81611a95565b82546001600160a01b031916911617815560443562ffffff81168103610cbc5781546064358060020b8103610cb85760b81b62ffffff60b81b169162ffffff60a01b9060a01b169065ffffffffffff60a01b1916171790556084359060018060a01b0382168203610cb45760020180546001600160a01b0319166001600160a01b0390921691909117905560a0610c1736611aab565b209182847fd6e84cd512c7f286c26ed8abdcc237e8b92fb1574fb75bc5140cd1f116fafa498480a3803411610c7e575b5050817f20140cf1a4e0073398ef162303c56161bbac5ab1960b5620115e2005b70fb16160208095604051908152a3604051908152f35b81808080938190803414610caa575b3403903390f115610c9e5780610c47565b604051903d90823e3d90fd5b6108fc9150610c8d565b8280fd5b8580fd5b8380fd5b506020813d602011610cf8575b81610cda60209383611a2b565b81010312610cb457610cf36001600160401b0391611a6b565b610b33565b3d9150610ccd565b6040513d85823e3d90fd5b610d2c9060803d608011610d31575b610d248183611a2b565b810190611be2565b610b10565b503d610d1a565b6040513d87823e3d90fd5b85610d5360449397608093611a2b565b959150610abb565b6040513d88823e3d90fd5b8780fd5b60405162461bcd60e51b815260206004820152602860248201527f4368616f73486f6f6b3a20696e73756666696369656e7420507974682b456e74604482015267726f70792066656560c01b6064820152608490fd5b610de2915060203d602011610de8575b610dda8183611a2b565b810190611a4c565b5f610a6c565b503d610dd0565b6040513d89823e3d90fd5b9092506020813d602011610e2a575b81610e1660209383611a2b565b81010312610e265751915f610a11565b8480fd5b3d9150610e09565b503461018057806003193601126101805760206040516109c48152f35b50346101805760c036600319011261018057610e6961188f565b60a0366023190112610884576001600160401b031681526020819052604081206001600160a01b03610e99611a95565b82546001600160a01b0319169116178155600181016044356001600160a01b0381168103610cbc5781546001600160a01b0319166001600160a01b039190911617815560643562ffffff81168103610cbc5781546084358060020b8103610cb85760b81b62ffffff60b81b169162ffffff60a01b9060a01b169065ffffffffffff60a01b19161717905560a4359060018060a01b0382168203610cb45760020180546001600160a01b0319166001600160a01b0390921691909117905580f35b5060a0366003190112610180576040516341025b3d60e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690602081600481855afa8015610d00576001600160801b039184916111d2575b5016908134106111815760208291600460405180948193637b43155d60e01b83525af18015610d00578390611141575b6001600160401b0316808452602084905260408420909291506001600160a01b03611016611a7f565b82546001600160a01b0319169116178155600181016001600160a01b0361103b611a95565b82546001600160a01b031916911617815560443562ffffff81168103610cb85781546064358060020b8103610d665760b81b62ffffff60b81b169162ffffff60a01b9060a01b169065ffffffffffff60a01b1916171790556084359060018060a01b0382168203610e265760020180546001600160a01b0319166001600160a01b0390921691909117905560a06110d136611aab565b20827fd6e84cd512c7f286c26ed8abdcc237e8b92fb1574fb75bc5140cd1f116fafa498580a380341161110a575b602082604051908152f35b82808080938190803414611137575b3403903390f11561112a57816110ff565b50604051903d90823e3d90fd5b6108fc9150611119565b506020813d602011611179575b8161115b60209383611a2b565b81010312610cb4576111746001600160401b0391611a6b565b610fed565b3d915061114e565b60405162461bcd60e51b815260206004820152602360248201527f4368616f73486f6f6b3a20696e73756666696369656e7420656e74726f70792060448201526266656560e81b6064820152608490fd5b6111eb915060203d602011610de857610dda8183611a2b565b5f610fbd565b5034610180576101003660031901126101805761120c6117e9565b5060a036602319011261018057600490611224611948565b5061021761195e565b503461018057602036600319011261018057604060a0916001600160401b0361125461188f565b1681528060205220600180831b03815416906001810154906002600180861b039101541690604051928352600180851b038116602084015262ffffff81851c16604084015260b81c60020b60608301526080820152f35b503461018057806003193601126101805760206040516101f48152f35b503461018057610140366003190112610180576112e36117e9565b5060a03660231901126101805760603660c319011261018057610124356001600160401b0381116108845790610846600492369084016117ff565b346115d05761132c366118a5565b9190507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316801561166e57330361161d576001600160401b0316805f525f60205260405f2060405192611386846119c5565b60018060a01b038254168452600182015490602085019460018060a01b0383168652604081019262ffffff8160a01c16845260b81c60020b906060810194828652600260018060a01b039101541691608082019283521561061857855f525f6020525f600260408220828155826001820155015560a0812096611407611c8a565b946114156107d186066123e7565b600186161561160b575b875160020b905f8213156105ab5760020b9661143b8882611c3b565b9060020b97880190627fffff198212627fffff8313176115f757826114638161146993612410565b92612410565b918260020b8260020b12156115e6575b5060405190611487826119f4565b600290810b80835292810b60208301818152670de0b6b3a764000060408086019182525f606087018181528251632d35e7ed60e11b81529b516001600160a01b0390811660048e01529a518b1660248d0152985162ffffff1660448c01529d51850b60648b01529951881660848a01529351830b60a48901525190910b60c4870152905160e48601529151610104850152610140610124850152610144840188905290969093918391610164918391907f0000000000000000000000000000000000000000000000000000000000000000165af180156115db576115a6575b50907f0612c296ec519bacdde10c8e228ac2d0c0b5dc400a3bdfcc972b782c062af0cc9360809392604051938452602084015260408301526060820152a3005b60409081949392943d83116115d4575b6115c08183611a2b565b810103126115d057909186611566565b5f80fd5b503d6115b6565b6040513d5f823e3d90fd5b6115f1915082611c3b565b8b611479565b634e487b7160e01b5f52601160045260245ffd5b600160ff1b81146115f7575f0361141f565b60405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920456e74726f70792063616e2063616c6c20746869732066756e637460448201526234b7b760e91b6064820152608490fd5b60405162461bcd60e51b815260206004820152601760248201527f456e74726f70792061646472657373206e6f74207365740000000000000000006044820152606490fd5b346115d0575f3660031901126115d0576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346115d0576117053661182c565b5050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303915061174e90505760405163259982e560e01b8152602090f35b63570c108560e11b5f5260045ffd5b346115d05761176b3661182c565b5050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303915061174e905057630a85dc2960e01b5f5260045ffd5b346115d0575f3660031901126115d0576020907f00000000000000000000000000000000000000000000000000000000000000008152f35b600435906001600160a01b03821682036115d057565b9181601f840112156115d0578235916001600160401b0383116115d057602083818601950101116115d057565b906101606003198301126115d0576004356001600160a01b03811681036115d0579160a06023198201126115d057602491608060c3198301126115d05760c49161014435906001600160401b0382116115d05761188b916004016117ff565b9091565b600435906001600160401b03821682036115d057565b60609060031901126115d0576004356001600160401b03811681036115d057906024356001600160a01b03811681036115d0579060443590565b906101a06003198301126115d0576004356001600160a01b03811681036115d0579160a06023198201126115d057602491608060c3198301126115d05760c4916101443591610164359161018435906001600160401b0382116115d05761188b916004016117ff565b60c435906001600160a01b03821682036115d057565b60e435908160020b82036115d057565b6101206003198201126115d0576004356001600160a01b03811681036115d0579160a06023198301126115d05760249160c4359160e4359161010435906001600160401b0382116115d05761188b916004016117ff565b60a081019081106001600160401b038211176119e057604052565b634e487b7160e01b5f52604160045260245ffd5b608081019081106001600160401b038211176119e057604052565b6101c081019081106001600160401b038211176119e057604052565b90601f801991011681019081106001600160401b038211176119e057604052565b908160209103126115d057516001600160801b03811681036115d05790565b51906001600160401b03821682036115d057565b6004356001600160a01b03811681036115d05790565b6024356001600160a01b03811681036115d05790565b60a09060031901126115d05760405190611ac4826119c5565b816004356001600160a01b03811681036115d05781526024356001600160a01b03811681036115d057602082015260443562ffffff811681036115d05760408201526064358060020b81036115d0576060820152608435906001600160a01b03821682036115d05760800152565b9180602084016020855252604083019060408160051b85010193835f91601e1982360301905b848410611b69575050505050505090565b90919293949596603f198282030187528735838112156115d057840190602082359201916001600160401b0381116115d05780360383136115d0576020828280600196849695859652848401375f828201840152601f01601f1916010199019701959401929190611b58565b919082018092116115f757565b908160809103126115d05760405190611bfa826119f4565b80518060070b81036115d0578252611c1460208201611a6b565b60208301526040810151908160030b82036115d05760609160408401520151606082015290565b600291820b910b0390627fffff198212627fffff8313176115f757565b63ffffffff16604d81116115f757600a0a90565b8115611c76570490565b634e487b7160e01b5f52601260045260245ffd5b6040516396834ad360e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526080816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156115db575f916123c8575b506040815160070b910151908160030b905f8113156123835780925f83125f14612343575050637fffffff1981146115f757611d5291611d47611d4d925f0363ffffffff16611c58565b90611c6c565b6124ac565b6001600160a01b03603082901b8116919073fffd8963efd1fc6a506488495d951d51639616826401000276a2198401909116116123305760501b640100000000600160c01b03168080156115d05760ff826001600160801b031060071b83811c6001600160401b031060061b1783811c63ffffffff1060051b1783811c61ffff1060041b1783811c821060031b177f07060605060205000602030205040001060502050303040105050304000000006f8421084210842108cc6318c6db6d54be85831c1c601f161a17169160808310155f146123245750607e1982011c5b800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c80029081607f1c8260ff1c1c80029283607f1c8460ff1c1c80029485607f1c8660ff1c1c80029687607f1c8860ff1c1c80029889607f1c8a60ff1c1c80029a8b607f1c8c60ff1c1c80029c8d80607f1c9060ff1c1c800260cd1c6604000000000000169d60cc1c6608000000000000169c60cb1c6610000000000000169b60ca1c6620000000000000169a60c91c6640000000000000169960c81c6680000000000000169860c71c670100000000000000169760c61c670200000000000000169660c51c670400000000000000169560c41c670800000000000000169460c31c671000000000000000169360c21c672000000000000000169260c11c674000000000000000169160c01c6780000000000000001690607f190160401b1717171717171717171717171717693627a301d71055774c85026f028f6481ab7f045a5af012a19d003aa919810160801d60020b906fdb2df09e81959a81455e260799a0632f0160801d60020b918282145f14611feb5750905090565b8260ff1d83810118620d89e8811161231157600160801b7001fffcb933bd6fad37aa2d162d1a59400160018316021890600281166122f5575b600481166122d9575b600881166122bd575b601081166122a1575b60208116612285575b60408116612269575b6080811661224d575b6101008116612231575b6102008116612215575b61040081166121f9575b61080081166121dd575b61100081166121c1575b61200081166121a5575b6140008116612189575b618000811661216d575b620100008116612151575b620200008116612136575b62040000811661211b575b6208000016612105575b5f84136120fd575b63ffffffff0160201c6001600160a01b0316116120f8575090565b905090565b5f19046120dd565b6b048a170391f7dc42444e8fa20260801c6120d5565b6d2216e584f5fa1ea926041bedfe9890910260801c906120cb565b906e5d6af8dedb81196699c329225ee6040260801c906120c0565b906f09aa508b5b7a84e1c677de54f3e99bc90260801c906120b5565b906f31be135f97d08fd981231505542fcfa60260801c906120aa565b906f70d869a156d2a1b890bb3df62baf32f70260801c906120a0565b906fa9f746462d870fdf8a65dc1f90e061e50260801c90612096565b906fd097f3bdfd2022b8845ad8f792aa58250260801c9061208c565b906fe7159475a2c29b7443b29c7fa6e889d90260801c90612082565b906ff3392b0822b70005940c7a398e4b70f30260801c90612078565b906ff987a7253ac413176f2b074cf7815e540260801c9061206e565b906ffcbe86c7900a88aedcffc83b479aa3a40260801c90612064565b906ffe5dee046a99a2a811c461f1969c30530260801c9061205a565b906fff2ea16466c96a3843ec78b326b528610260801c90612051565b906fff973b41fa98c081472e6896dfb254c00260801c90612048565b906fffcb9843d60f6159c9db58835c9266440260801c9061203f565b906fffe5caca7e10e4e61c3624eaa0941cd00260801c90612036565b906ffff2e50f5f656932ef12357cf3c7fdcc0260801c9061202d565b906ffff97272373d413259a46990580e213a0260801c90612024565b836345c3193d60e11b5f5260045260245ffd5b905081607f031b611e30565b506318521d4960e21b5f5260045260245ffd5b9092915f12612358575b50611d5291506124ac565b612368915063ffffffff16611c58565b908181029181830414901517156115f757611d52905f61234d565b60405162461bcd60e51b815260206004820152601f60248201527f4368616f73486f6f6b3a20696e76616c6964206f7261636c65207072696365006044820152606490fd5b6123e1915060803d608011610d3157610d248183611a2b565b5f611cfd565b90816101f4019182126001166115f757565b9060020b9060020b02908160020b9182036115f757565b908060020b8015611c765761243a61242e8383620d89e719056123f9565b9282620d89e8056123f9565b918060020b808560020b126124a3575b8360020b92838660020b1361249a575b8560020b078060020b612489575b508460020b12612481575b508260020b136120f8575090565b92505f612473565b6124939195611c3b565b935f612468565b9450839461245a565b9350809361244a565b9081156124ed57600182018083116115f75760011c825b8382106124ce575050565b9092506124e4836124df8184611c6c565b611bd5565b60011c906124c3565b5f915056fea2646970667358221220abb2996479aaa5a12b555d913d36a2cbc1125dfcc4113c3dc7a9a02362962ca864736f6c634300081a0033", + "sourceMap": "818:11143:0:-:0;;;;;;;;;;;;;;;;;-1:-1:-1;;818:11143:0;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;782:26:62;818:11143:0;782:26:62;-1:-1:-1;818:11143:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;818:11143:0;;;:::i;:::-;;;;3487:631;818:11143;3487:631;;818:11143;;;3487:631;;818:11143;3487:631;818:11143;3487:631;;818:11143;3487:631;818:11143;3487:631;;818:11143;3487:631;818:11143;3487:631;;818:11143;3487:631;818:11143;3487:631;;818:11143;3487:631;818:11143;3487:631;;818:11143;3487:631;818:11143;3487:631;;818:11143;3487:631;818:11143;3487:631;;818:11143;3487:631;818:11143;3487:631;;818:11143;3487:631;818:11143;3487:631;;818:11143;3487:631;818:11143;3487:631;;818:11143;3487:631;818:11143;;899:4:64;16467:29:40;:34;;;3729:166;;;-1:-1:-1;3729:265:40;;;;-1:-1:-1;3729:362:40;;;;-1:-1:-1;3729:467:40;;;;-1:-1:-1;3729:570:40;;;;-1:-1:-1;3729:652:40;;;;-1:-1:-1;3729:732:40;;;;-1:-1:-1;3729:818:40;;;;-1:-1:-1;3729:902:40;;;;-1:-1:-1;3729:1009:40;;;;-1:-1:-1;3729:1114:40;;;;-1:-1:-1;3729:1236:40;;;;-1:-1:-1;3729:1384:40;;;;-1:-1:-1;3712:1491:40;;-1:-1:-1;;;;;818:11143:0;;;;2238:37;818:11143;;2285:26;818:11143;2321:30;818:11143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3712:1491:40;5138:28;;;-1:-1:-1;1084:176:36;899:4:64;1084:176:36;;;-1:-1:-1;1084:176:36;3729:1384:40;5052:61;818:11143:0;899:4:64;16467:29:40;:34;;3729:1384;;:1236;4907:58;818:11143:0;899:4:64;16467:29:40;:34;;3729:1236;;:1114;4794:49;818:11143:0;899:4:64;16467:29:40;:34;;3729:1114;;:1009;4688:50;818:11143:0;899:4:64;16467:29:40;:34;;3729:1009;;:902;4594:37;818:11143:0;899:4:64;16467:29:40;:34;;3729:902;;:818;4509:38;818:11143:0;899:4:64;16467:29:40;:34;;3729:818;;:732;4426:35;818:11143:0;899:4:64;16467:29:40;:34;;3729:732;;:652;4345:36;818:11143:0;899:4:64;16467:29:40;:34;;3729:652;;:570;4252:47;818:11143:0;899:4:64;16467:29:40;:34;;3729:570;;:467;4148:48;818:11143:0;899:4:64;16467:29:40;:34;;3729:467;;:362;4047:44;818:11143:0;899:4:64;16467:29:40;:34;;3729:362;;:265;3949:45;818:11143:0;899:4:64;16467:29:40;:34;;818:11143:0;3915:79:40;;3729:265;;:166;3854:41;818:11143:0;899:4:64;16467:29:40;:34;;3729:166;;818:11143:0;-1:-1:-1;818:11143:0;;;;;;-1:-1:-1;818:11143:0;;;;;-1:-1:-1;818:11143:0;;;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;818:11143:0;;;;;;:::o", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x6080806040526004361015610012575f80fd5b5f905f3560e01c9081631999bb9e146117b15750806321d0ee701461175d578063259982e5146116f757806347ce07cc146116b357806352a5f1f81461131e578063575e24b4146112c85780635e152a04146112ab57806365b07d581461122d5780636c2bbe7e146108ee5780636fe7e6eb146111f157806371f6919c14610f595780637da44e3c14610e4f5780638e1cf4eb14610e3257806392fcfed7146109455780639f063efc146108ee578063a08d0b3a146108c8578063b2d46b0b14610888578063b47b2fb1146107f0578063b6a8b0fa14610183578063c4e833ce14610688578063c60876e9146102bc578063d1cfa2fb14610299578063dc4c90d314610254578063dc98354e146101e5578063e1b4af69146101835763f98d06f01461013c575f80fd5b346101805780600319360112610180576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b80fd5b5034610180576004906101953661196e565b5050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330392506101d991505057630a85dc2960e01b8152fd5b63570c108560e11b8152fd5b50346101805760e0366003190112610180576101ff6117e9565b5060a036602319011261018057600490610217611948565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036101d957630a85dc2960e01b8152fd5b50346101805780600319360112610180576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346101805780600319360112610180576020604051670de0b6b3a76400008152f35b5034610180576102cb366118a5565b9190507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610655576001600160401b031680835282602052604083209160405161031f816119c5565b60018060a01b038454168152600184015491602082019460018060a01b0384168652604083019362ffffff8160a01c16855260b81c60020b926060810191848352600260018060a01b0391015416936080820194855215610618578588528760205287600260408220828155826001820155015560a08120966103a0611c8a565b6103ad6107d186066123e7565b9060018616156105f0575b845160020b918b8313156105ab5760020b966103d48883611c3b565b9160020b97880191627fffff198312627fffff8413176105975790610407846104018f9796809695612410565b93612410565b928360020b8360020b1215610584575b5060405191610425836119f4565b600290810b80845293810b60208401818152670de0b6b3a7640000604080870191825260608701998a528051632d35e7ed60e11b81529a516001600160a01b0390811660048d01529851891660248c01529d5162ffffff1660448b01529951830b60648a01529251861660848901529251810b60a48801529051900b60c4860152945160e4850152915161010484015261014061012484015261014483018a90529295909282906101649082908c907f0000000000000000000000000000000000000000000000000000000000000000165af1801561057957610544575b50907f0612c296ec519bacdde10c8e228ac2d0c0b5dc400a3bdfcc972b782c062af0cc9360809392604051938452602084015260408301526060820152a380f35b60409081949392943d8311610572575b61055e8183611a2b565b8101031261056e5790915f610503565b8680fd5b503d610554565b6040513d8a823e3d90fd5b61059091925083611c3b565b905f610417565b634e487b7160e01b8d52601160045260248dfd5b60405162461bcd60e51b815260206004820152601e60248201527f4368616f73486f6f6b3a20696e76616c6964207469636b53706163696e6700006044820152606490fd5b90600160ff1b8114610604578a03906103b8565b634e487b7160e01b8b52601160045260248bfd5b60405162461bcd60e51b815260206004820152601560248201527410da185bdcd21bdbdace881b9bc81c995c5d595cdd605a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152600b60248201526a6e6f7420656e74726f707960a81b6044820152606490fd5b5034610180578060031936011261018057806101c0916101a06040516106ad81611a0f565b8281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e0820152826101008201528261012082015282610140820152826101608201528261018082015201526040519061070c82611a0f565b80825260208201918183526040810160018152606082018381526080830184815260a0840185815260c0850186815260e08601908782526101008701928884526101208801948986526101408901968a88526101608a01988b8a526101a06101808c019b8d8d52019b808d5260206040519e8f92835251151591015251151560408d015251151560608c015251151560808b015251151560a08a015251151560c089015251151560e08801525115156101008701525115156101208601525115156101408501525115156101608401525115156101808301525115156101a0820152f35b5034610180576101603660031901126101805761080b6117e9565b5060a03660231901126101805760603660c319011261018057610144356001600160401b0381116108845790610846600492369084016117ff565b50507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036101d957630a85dc2960e01b8152fd5b5080fd5b503461018057602036600319011261018057600160406020926001600160401b036108b161188f565b16815280845220015460b81c60020b604051908152f35b503461018057806003193601126101805760206108e3611c8a565b6040519060020b8152f35b503461018057600490610900366118df565b5050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330393506101d99250505057630a85dc2960e01b8152fd5b50366003190160e081126108845760a0136101805760a435906001600160401b0382116101805736602383011215610180578160040135916001600160401b038311610884576024810190602436918560051b0101116108845760c435926001600160401b038416809403610cb45760405163d47eed4560e01b8152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316602083806109fe858860048401611b32565b0381845afa928315610d38578593610dfa575b506040516341025b3d60e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169290602081600481875afa908115610def57906001600160801b03918891610dc0575b501693610a798582611bd5565b95863410610d6a57833b15610d6657918791610aab93604051809581948293631df3cbc560e31b845260048401611b32565b0391865af18015610d5b57610d43575b5060806044916040519283809263052571af60e51b82527f000000000000000000000000000000000000000000000000000000000000000060048301528a60248301525afa8015610d38579060209291610d0b575b50600460405180948193637b43155d60e01b83525af18015610d00578390610cc0575b6001600160401b0316808452602084905260408420909391506001600160a01b03610b5c611a7f565b82546001600160a01b0319169116178155600181016001600160a01b03610b81611a95565b82546001600160a01b031916911617815560443562ffffff81168103610cbc5781546064358060020b8103610cb85760b81b62ffffff60b81b169162ffffff60a01b9060a01b169065ffffffffffff60a01b1916171790556084359060018060a01b0382168203610cb45760020180546001600160a01b0319166001600160a01b0390921691909117905560a0610c1736611aab565b209182847fd6e84cd512c7f286c26ed8abdcc237e8b92fb1574fb75bc5140cd1f116fafa498480a3803411610c7e575b5050817f20140cf1a4e0073398ef162303c56161bbac5ab1960b5620115e2005b70fb16160208095604051908152a3604051908152f35b81808080938190803414610caa575b3403903390f115610c9e5780610c47565b604051903d90823e3d90fd5b6108fc9150610c8d565b8280fd5b8580fd5b8380fd5b506020813d602011610cf8575b81610cda60209383611a2b565b81010312610cb457610cf36001600160401b0391611a6b565b610b33565b3d9150610ccd565b6040513d85823e3d90fd5b610d2c9060803d608011610d31575b610d248183611a2b565b810190611be2565b610b10565b503d610d1a565b6040513d87823e3d90fd5b85610d5360449397608093611a2b565b959150610abb565b6040513d88823e3d90fd5b8780fd5b60405162461bcd60e51b815260206004820152602860248201527f4368616f73486f6f6b3a20696e73756666696369656e7420507974682b456e74604482015267726f70792066656560c01b6064820152608490fd5b610de2915060203d602011610de8575b610dda8183611a2b565b810190611a4c565b5f610a6c565b503d610dd0565b6040513d89823e3d90fd5b9092506020813d602011610e2a575b81610e1660209383611a2b565b81010312610e265751915f610a11565b8480fd5b3d9150610e09565b503461018057806003193601126101805760206040516109c48152f35b50346101805760c036600319011261018057610e6961188f565b60a0366023190112610884576001600160401b031681526020819052604081206001600160a01b03610e99611a95565b82546001600160a01b0319169116178155600181016044356001600160a01b0381168103610cbc5781546001600160a01b0319166001600160a01b039190911617815560643562ffffff81168103610cbc5781546084358060020b8103610cb85760b81b62ffffff60b81b169162ffffff60a01b9060a01b169065ffffffffffff60a01b19161717905560a4359060018060a01b0382168203610cb45760020180546001600160a01b0319166001600160a01b0390921691909117905580f35b5060a0366003190112610180576040516341025b3d60e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690602081600481855afa8015610d00576001600160801b039184916111d2575b5016908134106111815760208291600460405180948193637b43155d60e01b83525af18015610d00578390611141575b6001600160401b0316808452602084905260408420909291506001600160a01b03611016611a7f565b82546001600160a01b0319169116178155600181016001600160a01b0361103b611a95565b82546001600160a01b031916911617815560443562ffffff81168103610cb85781546064358060020b8103610d665760b81b62ffffff60b81b169162ffffff60a01b9060a01b169065ffffffffffff60a01b1916171790556084359060018060a01b0382168203610e265760020180546001600160a01b0319166001600160a01b0390921691909117905560a06110d136611aab565b20827fd6e84cd512c7f286c26ed8abdcc237e8b92fb1574fb75bc5140cd1f116fafa498580a380341161110a575b602082604051908152f35b82808080938190803414611137575b3403903390f11561112a57816110ff565b50604051903d90823e3d90fd5b6108fc9150611119565b506020813d602011611179575b8161115b60209383611a2b565b81010312610cb4576111746001600160401b0391611a6b565b610fed565b3d915061114e565b60405162461bcd60e51b815260206004820152602360248201527f4368616f73486f6f6b3a20696e73756666696369656e7420656e74726f70792060448201526266656560e81b6064820152608490fd5b6111eb915060203d602011610de857610dda8183611a2b565b5f610fbd565b5034610180576101003660031901126101805761120c6117e9565b5060a036602319011261018057600490611224611948565b5061021761195e565b503461018057602036600319011261018057604060a0916001600160401b0361125461188f565b1681528060205220600180831b03815416906001810154906002600180861b039101541690604051928352600180851b038116602084015262ffffff81851c16604084015260b81c60020b60608301526080820152f35b503461018057806003193601126101805760206040516101f48152f35b503461018057610140366003190112610180576112e36117e9565b5060a03660231901126101805760603660c319011261018057610124356001600160401b0381116108845790610846600492369084016117ff565b346115d05761132c366118a5565b9190507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316801561166e57330361161d576001600160401b0316805f525f60205260405f2060405192611386846119c5565b60018060a01b038254168452600182015490602085019460018060a01b0383168652604081019262ffffff8160a01c16845260b81c60020b906060810194828652600260018060a01b039101541691608082019283521561061857855f525f6020525f600260408220828155826001820155015560a0812096611407611c8a565b946114156107d186066123e7565b600186161561160b575b875160020b905f8213156105ab5760020b9661143b8882611c3b565b9060020b97880190627fffff198212627fffff8313176115f757826114638161146993612410565b92612410565b918260020b8260020b12156115e6575b5060405190611487826119f4565b600290810b80835292810b60208301818152670de0b6b3a764000060408086019182525f606087018181528251632d35e7ed60e11b81529b516001600160a01b0390811660048e01529a518b1660248d0152985162ffffff1660448c01529d51850b60648b01529951881660848a01529351830b60a48901525190910b60c4870152905160e48601529151610104850152610140610124850152610144840188905290969093918391610164918391907f0000000000000000000000000000000000000000000000000000000000000000165af180156115db576115a6575b50907f0612c296ec519bacdde10c8e228ac2d0c0b5dc400a3bdfcc972b782c062af0cc9360809392604051938452602084015260408301526060820152a3005b60409081949392943d83116115d4575b6115c08183611a2b565b810103126115d057909186611566565b5f80fd5b503d6115b6565b6040513d5f823e3d90fd5b6115f1915082611c3b565b8b611479565b634e487b7160e01b5f52601160045260245ffd5b600160ff1b81146115f7575f0361141f565b60405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920456e74726f70792063616e2063616c6c20746869732066756e637460448201526234b7b760e91b6064820152608490fd5b60405162461bcd60e51b815260206004820152601760248201527f456e74726f70792061646472657373206e6f74207365740000000000000000006044820152606490fd5b346115d0575f3660031901126115d0576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346115d0576117053661182c565b5050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303915061174e90505760405163259982e560e01b8152602090f35b63570c108560e11b5f5260045ffd5b346115d05761176b3661182c565b5050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303915061174e905057630a85dc2960e01b5f5260045ffd5b346115d0575f3660031901126115d0576020907f00000000000000000000000000000000000000000000000000000000000000008152f35b600435906001600160a01b03821682036115d057565b9181601f840112156115d0578235916001600160401b0383116115d057602083818601950101116115d057565b906101606003198301126115d0576004356001600160a01b03811681036115d0579160a06023198201126115d057602491608060c3198301126115d05760c49161014435906001600160401b0382116115d05761188b916004016117ff565b9091565b600435906001600160401b03821682036115d057565b60609060031901126115d0576004356001600160401b03811681036115d057906024356001600160a01b03811681036115d0579060443590565b906101a06003198301126115d0576004356001600160a01b03811681036115d0579160a06023198201126115d057602491608060c3198301126115d05760c4916101443591610164359161018435906001600160401b0382116115d05761188b916004016117ff565b60c435906001600160a01b03821682036115d057565b60e435908160020b82036115d057565b6101206003198201126115d0576004356001600160a01b03811681036115d0579160a06023198301126115d05760249160c4359160e4359161010435906001600160401b0382116115d05761188b916004016117ff565b60a081019081106001600160401b038211176119e057604052565b634e487b7160e01b5f52604160045260245ffd5b608081019081106001600160401b038211176119e057604052565b6101c081019081106001600160401b038211176119e057604052565b90601f801991011681019081106001600160401b038211176119e057604052565b908160209103126115d057516001600160801b03811681036115d05790565b51906001600160401b03821682036115d057565b6004356001600160a01b03811681036115d05790565b6024356001600160a01b03811681036115d05790565b60a09060031901126115d05760405190611ac4826119c5565b816004356001600160a01b03811681036115d05781526024356001600160a01b03811681036115d057602082015260443562ffffff811681036115d05760408201526064358060020b81036115d0576060820152608435906001600160a01b03821682036115d05760800152565b9180602084016020855252604083019060408160051b85010193835f91601e1982360301905b848410611b69575050505050505090565b90919293949596603f198282030187528735838112156115d057840190602082359201916001600160401b0381116115d05780360383136115d0576020828280600196849695859652848401375f828201840152601f01601f1916010199019701959401929190611b58565b919082018092116115f757565b908160809103126115d05760405190611bfa826119f4565b80518060070b81036115d0578252611c1460208201611a6b565b60208301526040810151908160030b82036115d05760609160408401520151606082015290565b600291820b910b0390627fffff198212627fffff8313176115f757565b63ffffffff16604d81116115f757600a0a90565b8115611c76570490565b634e487b7160e01b5f52601260045260245ffd5b6040516396834ad360e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526080816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156115db575f916123c8575b506040815160070b910151908160030b905f8113156123835780925f83125f14612343575050637fffffff1981146115f757611d5291611d47611d4d925f0363ffffffff16611c58565b90611c6c565b6124ac565b6001600160a01b03603082901b8116919073fffd8963efd1fc6a506488495d951d51639616826401000276a2198401909116116123305760501b640100000000600160c01b03168080156115d05760ff826001600160801b031060071b83811c6001600160401b031060061b1783811c63ffffffff1060051b1783811c61ffff1060041b1783811c821060031b177f07060605060205000602030205040001060502050303040105050304000000006f8421084210842108cc6318c6db6d54be85831c1c601f161a17169160808310155f146123245750607e1982011c5b800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c80029081607f1c8260ff1c1c80029283607f1c8460ff1c1c80029485607f1c8660ff1c1c80029687607f1c8860ff1c1c80029889607f1c8a60ff1c1c80029a8b607f1c8c60ff1c1c80029c8d80607f1c9060ff1c1c800260cd1c6604000000000000169d60cc1c6608000000000000169c60cb1c6610000000000000169b60ca1c6620000000000000169a60c91c6640000000000000169960c81c6680000000000000169860c71c670100000000000000169760c61c670200000000000000169660c51c670400000000000000169560c41c670800000000000000169460c31c671000000000000000169360c21c672000000000000000169260c11c674000000000000000169160c01c6780000000000000001690607f190160401b1717171717171717171717171717693627a301d71055774c85026f028f6481ab7f045a5af012a19d003aa919810160801d60020b906fdb2df09e81959a81455e260799a0632f0160801d60020b918282145f14611feb5750905090565b8260ff1d83810118620d89e8811161231157600160801b7001fffcb933bd6fad37aa2d162d1a59400160018316021890600281166122f5575b600481166122d9575b600881166122bd575b601081166122a1575b60208116612285575b60408116612269575b6080811661224d575b6101008116612231575b6102008116612215575b61040081166121f9575b61080081166121dd575b61100081166121c1575b61200081166121a5575b6140008116612189575b618000811661216d575b620100008116612151575b620200008116612136575b62040000811661211b575b6208000016612105575b5f84136120fd575b63ffffffff0160201c6001600160a01b0316116120f8575090565b905090565b5f19046120dd565b6b048a170391f7dc42444e8fa20260801c6120d5565b6d2216e584f5fa1ea926041bedfe9890910260801c906120cb565b906e5d6af8dedb81196699c329225ee6040260801c906120c0565b906f09aa508b5b7a84e1c677de54f3e99bc90260801c906120b5565b906f31be135f97d08fd981231505542fcfa60260801c906120aa565b906f70d869a156d2a1b890bb3df62baf32f70260801c906120a0565b906fa9f746462d870fdf8a65dc1f90e061e50260801c90612096565b906fd097f3bdfd2022b8845ad8f792aa58250260801c9061208c565b906fe7159475a2c29b7443b29c7fa6e889d90260801c90612082565b906ff3392b0822b70005940c7a398e4b70f30260801c90612078565b906ff987a7253ac413176f2b074cf7815e540260801c9061206e565b906ffcbe86c7900a88aedcffc83b479aa3a40260801c90612064565b906ffe5dee046a99a2a811c461f1969c30530260801c9061205a565b906fff2ea16466c96a3843ec78b326b528610260801c90612051565b906fff973b41fa98c081472e6896dfb254c00260801c90612048565b906fffcb9843d60f6159c9db58835c9266440260801c9061203f565b906fffe5caca7e10e4e61c3624eaa0941cd00260801c90612036565b906ffff2e50f5f656932ef12357cf3c7fdcc0260801c9061202d565b906ffff97272373d413259a46990580e213a0260801c90612024565b836345c3193d60e11b5f5260045260245ffd5b905081607f031b611e30565b506318521d4960e21b5f5260045260245ffd5b9092915f12612358575b50611d5291506124ac565b612368915063ffffffff16611c58565b908181029181830414901517156115f757611d52905f61234d565b60405162461bcd60e51b815260206004820152601f60248201527f4368616f73486f6f6b3a20696e76616c6964206f7261636c65207072696365006044820152606490fd5b6123e1915060803d608011610d3157610d248183611a2b565b5f611cfd565b90816101f4019182126001166115f757565b9060020b9060020b02908160020b9182036115f757565b908060020b8015611c765761243a61242e8383620d89e719056123f9565b9282620d89e8056123f9565b918060020b808560020b126124a3575b8360020b92838660020b1361249a575b8560020b078060020b612489575b508460020b12612481575b508260020b136120f8575090565b92505f612473565b6124939195611c3b565b935f612468565b9450839461245a565b9350809361244a565b9081156124ed57600182018083116115f75760011c825b8382106124ce575050565b9092506124e4836124df8184611c6c565b611bd5565b60011c906124c3565b5f915056fea2646970667358221220abb2996479aaa5a12b555d913d36a2cbc1125dfcc4113c3dc7a9a02362962ca864736f6c634300081a0033", + "sourceMap": "818:11143:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;818:11143:0;-1:-1:-1;;;818:11143:0;;;;;;;;;;;;;;;;;;;;;;;;;4866:18;818:11143;4866:18;;;818:11143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1036:27;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;672:11:62;-1:-1:-1;;;;;818:11143:0;650:10:62;:34;;-1:-1:-1;646:63:62;;-1:-1:-1;;646:63:62;-1:-1:-1;;;3575:20:64;;;646:63:62;-1:-1:-1;;;693:16:62;;;818:11143:0;;;;;;;-1:-1:-1;;818:11143:0;;;;;;:::i;:::-;-1:-1:-1;818:11143:0;;-1:-1:-1;;818:11143:0;;;;;;;;:::i;:::-;-1:-1:-1;672:11:62;-1:-1:-1;;;;;818:11143:0;650:10:62;:34;646:63;;-1:-1:-1;;;3575:20:64;;;818:11143:0;;;;;;;;;;;;;;;411:41:62;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;;;;;;;;;;;;;1398:4;818:11143;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2886:7:0;-1:-1:-1;;;;;818:11143:0;2864:10;:30;818:11143;;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9215:20;818:11143;;;;;;;;;;;;;;;;;;;;;;;;357:173:58;;9418:16:0;;;:::i;:::-;11186:47;818:11143;;;11186:47;:::i;:::-;9685:25;818:11143;9685:25;;9684:32;9680:87;;818:11143;;;;;9830:15;;;;818:11143;;;;;9908:30;;;;;:::i;:::-;818:11143;;;;;;;;;;;;;;;;;10024:36;10088;10024;;;;;;;;;:::i;:::-;10088;;:::i;:::-;818:11143;;;;;;;10186:22;;10182:114;;818:11143;;;;;;;;:::i;:::-;;;;;;;;;;;;10430:196;;818:11143;;;1398:4;818:11143;10430:196;;;818:11143;;;;10430:196;;818:11143;;;;;-1:-1:-1;;;10372:280:0;;818:11143;;-1:-1:-1;;;;;818:11143:0;;;;10372:280;;818:11143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10372:280;;818:11143;;;;10372:11;818:11143;10372:280;;;;;;;;818:11143;;;10668:174;818:11143;;;;;;;;;;;;;;;;;;;;;10668:174;818:11143;;10372:280;818:11143;10372:280;;;;;;;;;;;;;;;;:::i;:::-;;;818:11143;;;;10372:280;;;;;818:11143;;;;10372:280;;;;;;818:11143;;;;;;;;;10182:114;10250:23;;;;;;:::i;:::-;10182:114;;;;818:11143;-1:-1:-1;;;818:11143:0;;;;;;;;;;;-1:-1:-1;;;818:11143:0;;;;;;;;;;;;;;;;;;;;9680:87;818:11143;-1:-1:-1;;;818:11143:0;;;;;;9680:87;;;818:11143;-1:-1:-1;;;818:11143:0;;;;;;;;;;;-1:-1:-1;;;818:11143:0;;;;;;;;;;;;-1:-1:-1;;;818:11143:0;;;;;;;;;;-1:-1:-1;;;818:11143:0;;;;;;;;;;;;-1:-1:-1;;;818:11143:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;3487:631;;818:11143;;;;;3487:631;;818:11143;;;;3487:631;;818:11143;;;;3487:631;;818:11143;;;;3487:631;;818:11143;;;;3487:631;;818:11143;;;;3487:631;;818:11143;;;;;3487:631;;818:11143;;;;;3487:631;;818:11143;;;;;3487:631;;818:11143;;;;;3487:631;;818:11143;;;;;;3487:631;;818:11143;;;;3487:631;818:11143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;818:11143:0;;;;;;:::i;:::-;-1:-1:-1;818:11143:0;;-1:-1:-1;;818:11143:0;;;;;;-1:-1:-1;;818:11143:0;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;672:11:62;-1:-1:-1;;;;;818:11143:0;650:10:62;:34;646:63;;-1:-1:-1;;;3575:20:64;;;818:11143:0;;;;;;;;;;;-1:-1:-1;;818:11143:0;;;;3059:32;818:11143;;;-1:-1:-1;;;;;818:11143:0;;:::i;:::-;;;;;;;;3059:32;818:11143;;;;;;;;;;;;;;;;;;;;;;;;;7278:16;;:::i;:::-;818:11143;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;672:11:62;-1:-1:-1;;;;;818:11143:0;650:10:62;:34;;-1:-1:-1;646:63:62;;-1:-1:-1;;;646:63:62;-1:-1:-1;;;3575:20:64;;;818:11143:0;-1:-1:-1;818:11143:0;-1:-1:-1;;818:11143:0;;;;;;;-1:-1:-1;818:11143:0;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;;-1:-1:-1;;;5931:29:0;;818:11143;5931:4;-1:-1:-1;;;;;818:11143:0;;;;5931:29;818:11143;5931:29;818:11143;5931:29;;;:::i;:::-;;;;;;;;;;;;;;;818:11143;-1:-1:-1;818:11143:0;;-1:-1:-1;;;6033:18:0;;:7;-1:-1:-1;;;;;818:11143:0;;;;;;;;6033:18;;;;;;;;-1:-1:-1;;;;;6033:18:0;;;;;818:11143;;;6081:29;;;;;:::i;:::-;6141:9;;;:21;818:11143;;6298:49;;;;;818:11143;;;6298:49;818:11143;;;;;;;;;;;;6298:49;;818:11143;6298:49;;;:::i;:::-;;;;;;;;;;;;818:11143;;6571:48;;818:11143;;;;;;;;;;6571:48;;6596:11;818:11143;6571:48;;818:11143;;;;;;6571:48;;;;;;;818:11143;6571:48;;;;818:11143;;;;;;;;;;;;6687:38;;;;;;;;;;;;818:11143;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;;;;;-1:-1:-1;;;;;;818:11143:0;;:::i;:::-;;;-1:-1:-1;;;;;;818:11143:0;;;;;;-1:-1:-1;818:11143:0;;-1:-1:-1;;;;;818:11143:0;;:::i;:::-;;;-1:-1:-1;;;;;;818:11143:0;;;;;;6571:48;818:11143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;818:11143:0;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;;;;:::i;:::-;357:173:58;6818:36:0;;;;;;;6141:9;;6914:20;6910:143;;818:11143;;;;7068:58;818:11143;;;;;;;;7068:58;818:11143;;;;;;6910:143;6978:50;;;;;;6141:9;;;6978:50;;;6910:143;6141:9;818:11143;6986:10;;6978:50;;;;;6910:143;;;6978:50;818:11143;;;;;;;;;;6978:50;;;-1:-1:-1;6978:50:0;;818:11143;;;;;;;;;;;;6687:38;;818:11143;6687:38;;818:11143;6687:38;;;;;;818:11143;6687:38;;;:::i;:::-;;;818:11143;;;;;-1:-1:-1;;;;;818:11143:0;;:::i;:::-;6687:38;;;;;-1:-1:-1;6687:38:0;;;818:11143;;;;;;;;;6571:48;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;818:11143;;;;;;;;;6298:49;;;6571:48;6298:49;;6571:48;6298:49;;:::i;:::-;;;;;;;818:11143;;;;;;;;;6298:49;818:11143;;;;;;-1:-1:-1;;;818:11143:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;818:11143:0;;;;;;;6033:18;;;;818:11143;6033:18;818:11143;6033:18;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;818:11143;;;;;;;;;5931:29;;;;818:11143;5931:29;;818:11143;5931:29;;;;;;818:11143;5931:29;;;:::i;:::-;;;818:11143;;;;;5931:29;;;;818:11143;;;;5931:29;;;-1:-1:-1;5931:29:0;;818:11143;;;;;;;;;;;;;;;;1589:4;818:11143;;;;;;;;;;-1:-1:-1;;818:11143:0;;;;;;:::i;:::-;;;-1:-1:-1;;818:11143:0;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;-1:-1:-1;;;;;818:11143:0;;:::i;:::-;;;-1:-1:-1;;;;;;818:11143:0;;;;;;-1:-1:-1;818:11143:0;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;-1:-1:-1;;;;;;818:11143:0;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;818:11143:0;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;;;-1:-1:-1;818:11143:0;;-1:-1:-1;;818:11143:0;;;;;;-1:-1:-1;;;4866:18:0;;:7;-1:-1:-1;;;;;818:11143:0;;4866:18;818:11143;;;;4866:18;;;;;;-1:-1:-1;;;;;4866:18:0;;;;;818:11143;;;4902:9;;;:16;818:11143;;4866:18;818:11143;;;;;;;;;;;;5067:31;;;;;;;;;;;;818:11143;-1:-1:-1;;;;;818:11143:0;;;;4866:18;818:11143;;;;;;;;;-1:-1:-1;;;;;;818:11143:0;;:::i;:::-;;;-1:-1:-1;;;;;;818:11143:0;;;;;;-1:-1:-1;818:11143:0;;-1:-1:-1;;;;;818:11143:0;;:::i;:::-;;;-1:-1:-1;;;;;;818:11143:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;818:11143:0;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;;;;:::i;:::-;357:173:58;5191:36:0;;;;;4902:9;;5272:15;5268:133;;818:11143;4866:18;818:11143;;;;;;;5268:133;5331:45;;;;;;4902:9;;;5331:45;;;5268:133;4902:9;818:11143;5339:10;;5331:45;;;;;5268:133;;;5331:45;818:11143;;;;;;;;;;;5331:45;;;-1:-1:-1;5331:45:0;;5067:31;;4866:18;5067:31;;4866:18;5067:31;;;;;;4866:18;5067:31;;;:::i;:::-;;;818:11143;;;;;-1:-1:-1;;;;;818:11143:0;;:::i;:::-;5067:31;;;;;-1:-1:-1;5067:31:0;;818:11143;;;-1:-1:-1;;;818:11143:0;;4866:18;818:11143;;;;;;;;;;;;;;-1:-1:-1;;;818:11143:0;;;;;;;4866:18;;;;;;;;;;;;;;:::i;:::-;;;;818:11143;;;;;;;-1:-1:-1;;818:11143:0;;;;;;:::i;:::-;-1:-1:-1;818:11143:0;;-1:-1:-1;;818:11143:0;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;-1:-1:-1;;818:11143:0;;;;;;;-1:-1:-1;;;;;818:11143:0;;:::i;:::-;;;;;;;;;;;;;;;;1233:49;;;;818:11143;;;;;;;;1233:49;;818:11143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1516:3;818:11143;;;;;;;;;;-1:-1:-1;;818:11143:0;;;;;;:::i;:::-;-1:-1:-1;818:11143:0;;-1:-1:-1;;818:11143:0;;;;;;-1:-1:-1;;818:11143:0;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;-1:-1:-1;8905:7:0;-1:-1:-1;;;;;818:11143:0;487:21:70;;818:11143:0;;554:10:70;:21;818:11143:0;;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9215:20;818:11143;;;;;;;;;;;;;;;;;;;;;;;;357:173:58;;9418:16:0;;;:::i;:::-;11145:23;11186:47;818:11143;;;11186:47;:::i;:::-;818:11143;9685:25;;9684:32;9680:87;;818:11143;;;;;9830:15;-1:-1:-1;9830:15:0;;818:11143;;;;;9908:30;;;;;:::i;:::-;818:11143;;;;;;;;;;;;;;;;;10024:36;;;10088;10024;;:::i;:::-;10088;;:::i;:::-;818:11143;;;;;;;10186:22;;10182:114;;818:11143;;;;;;;;:::i;:::-;;;;;;;;;;;;10430:196;;818:11143;;;1398:4;818:11143;10430:196;;;818:11143;;;-1:-1:-1;818:11143:0;10430:196;;818:11143;;;;;-1:-1:-1;;;10372:280:0;;818:11143;;-1:-1:-1;;;;;818:11143:0;;;;10372:280;;818:11143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10372:280;;818:11143;;-1:-1:-1;10372:11:0;818:11143;10372:280;;;;;;;;818:11143;;;10668:174;818:11143;;;;;;;;;;;;;;;;;;;;;10668:174;818:11143;10372:280;818:11143;10372:280;;;;;;;;;;;;;;;;:::i;:::-;;;818:11143;;;;10372:280;;;;;818:11143;-1:-1:-1;818:11143:0;;10372:280;;;;;;818:11143;;;-1:-1:-1;818:11143:0;;;;;10182:114;10250:23;;;;;:::i;:::-;10182:114;;;818:11143;;;;-1:-1:-1;818:11143:0;;;;;-1:-1:-1;818:11143:0;9680:87;-1:-1:-1;;;818:11143:0;;;;-1:-1:-1;818:11143:0;9680:87;;818:11143;;;-1:-1:-1;;;818:11143:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;818:11143:0;;;;;;;;;;-1:-1:-1;;;818:11143:0;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;818:11143:0;;;;;;962:35;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;672:11:62;-1:-1:-1;;;;;818:11143:0;650:10:62;:34;;-1:-1:-1;646:63:62;;-1:-1:-1;646:63:62;818:11143:0;;-1:-1:-1;;;818:11143:0;;;;;646:63:62;693:16;;;818:11143:0;693:16:62;818:11143:0;;693:16:62;818:11143:0;;;;;;;:::i;:::-;-1:-1:-1;;;672:11:62;-1:-1:-1;;;;;818:11143:0;650:10:62;:34;;-1:-1:-1;646:63:62;;-1:-1:-1;646:63:62;3575:20:64;;;818:11143:0;3575:20:64;818:11143:0;;3575:20:64;818:11143:0;;;;;;-1:-1:-1;;818:11143:0;;;;;1141:36;;818:11143;;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;818:11143:0;;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;-1:-1:-1;;818:11143:0;;;;;;;;-1:-1:-1;;818:11143:0;;;;;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;-1:-1:-1;;;;;818:11143:0;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;818:11143:0;;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;-1:-1:-1;;818:11143:0;;;;;;;;-1:-1:-1;;818:11143:0;;;;;;;;;;;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;818:11143:0;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;-1:-1:-1;;818:11143:0;;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;-1:-1:-1;;818:11143:0;;;;;;;;;;;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;:::o;:::-;;;;-1:-1:-1;818:11143:0;;;;;-1:-1:-1;818:11143:0;;;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;818:11143:0;;;;;;:::o;:::-;;;-1:-1:-1;;;;;818:11143:0;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;818:11143:0;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;818:11143:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;818:11143:0;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;818:11143:0;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;:::o;:::-;;;;;;;;;;;;7307:1031;818:11143;;-1:-1:-1;;;7402:32:0;;7422:11;7402:32;;;818:11143;7402:32;818:11143;7402:32;818:11143;7402:4;-1:-1:-1;;;;;818:11143:0;7402:32;;;;;;;-1:-1:-1;7402:32:0;;;7307:1031;818:11143;;;;;;7489:6;;818:11143;;;;;7584:9;-1:-1:-1;7584:9:0;;818:11143;;;7640:48;7837:8;-1:-1:-1;7837:8:0;;7833:197;-1:-1:-1;;;;;;;818:11143:0;;;;8166:22;818:11143;7898:19;7879:39;818:11143;-1:-1:-1;818:11143:0;;;7898:19;:::i;:::-;7879:39;;:::i;:::-;8166:22;:::i;:::-;-1:-1:-1;;;;;8242:2:0;818:11143;;;;;;;2282:66:53;-1:-1:-1;;1862:10:53;;818:11143:0;;;8182:79:53;8178:168;;818:11143:0;;-1:-1:-1;;;;;818:11143:0;;742:5:33;;818:11143:0;;;759:552:33;-1:-1:-1;;;;;759:552:33;818:11143:0;759:552:33;;;;-1:-1:-1;;;;;759:552:33;;;;;;;;;;;;;;;;;7402:32:0;759:552:33;;;;;;;818:11143:0;759:552:33;;;;;;;;;;;;818:11143:0;8511:10:53;7402:32:0;8511:10:53;;;8507:83;7402:32:0;;;-1:-1:-1;;;818:11143:0;;2282:66:53;8507:83;8660:196;;;;;;818:11143:0;8660:196:53;;8869;;;8660;8869;;818:11143:0;8869:196:53;;9078;;;8660;9078;;818:11143:0;9078:196:53;;9287;;;8660;9287;;818:11143:0;9287:196:53;;9496;;;8660;9496;;818:11143:0;9496:196:53;;9705;;;8660;9705;;818:11143:0;9705:196:53;;9914;;;;8660;9914;;818:11143:0;9914:196:53;;10123;;;;8660;10123;;818:11143:0;10123:196:53;;10332;;;;8660;10332;;818:11143:0;10332:196:53;;10541;;;;8660;10541;;818:11143:0;10541:196:53;;10750;;;;8660;10750;;818:11143:0;10750:196:53;;10959;;;;8660;10959;;818:11143:0;10959:196:53;;11168;;;;;8660;11168;;818:11143:0;11168:196:53;;11377:165;;;;;;11168:196;;;;;10959;;;;;10750;;;;;10541;;;;;10332;;;;;10123;;;;;9914;;;;;9705;;;;;9496;;;;;9287;;;;;9078;;;;;8869;;;;;8660;;;;;2282:66;;;;818:11143:0;;8660:196:53;8869;9078;9287;9496;9705;9914;10123;10332;10541;10750;10959;11168;11377:165;11587:24;2282:66;;;;;7402:32:0;2282:66:53;818:11143:0;;2282:66:53;12201:39;2282:66;7402:32:0;2282:66:53;818:11143:0;;12271:91:53;:17;;;:91;818:11143:0;;;12271:91:53;;;7307:1031:0;:::o;12271:91:53:-;3297:459;818:11143:0;3297:459:53;;;;;1317:6;3774:35;;3770:78;;-1:-1:-1;;;4383:160:53;;;;;;;818:11143:0;4560:13:53;;4556:83;;12271:91;7402:32:0;4657:13:53;;4653:83;;12271:91;4764:3;4754:13;;4750:83;;12271:91;4861:4;4851:14;;4847:84;;12271:91;818:11143:0;4949:14:53;;4945:84;;12271:91;818:11143:0;5047:14:53;;5043:84;;12271:91;7402:32:0;5145:14:53;;5141:84;;12271:91;5253:5;5243:15;;5239:85;;12271:91;5352:5;5342:15;;5338:85;;12271:91;5451:5;5441:15;;5437:85;;12271:91;5550:5;5540:15;;5536:85;;12271:91;5649:6;5639:16;;5635:86;;12271:91;5749:6;5739:16;;5735:86;;12271:91;5849:6;5839:16;;5835:86;;12271:91;5949:6;5939:16;;5935:86;;12271:91;6049:7;6039:17;;6035:86;;12271:91;6149:7;6139:17;;6135:85;;12271:91;6248:7;6238:17;;6234:83;;12271:91;6345:7;6335:17;6331:78;;12271:91;-1:-1:-1;6424:727:53;;;;12271:91;759:552:33;6424:727:53;818:11143:0;6424:727:53;-1:-1:-1;;;;;818:11143:0;12301:42:53;818:11143:0;;12301:61:53;7307:1031:0;:::o;12301:61:53:-;;;7307:1031:0;:::o;6424:727:53:-;-1:-1:-1;;6424:727:53;;;6331:78;6376:25;818:11143:0;7402:32;2282:66:53;6331:78;;6234:83;6279:30;818:11143:0;;;7402:32;2282:66:53;;6234:83;;6135:85;818:11143:0;6180:32:53;818:11143:0;7402:32;2282:66:53;6135:85;;;6035:86;818:11143:0;6080:33:53;818:11143:0;7402:32;2282:66:53;6035:86;;;5935;818:11143:0;5979:34:53;818:11143:0;7402:32;2282:66:53;5935:86;;;5835;818:11143:0;5879:34:53;818:11143:0;7402:32;2282:66:53;5835:86;;;5735;818:11143:0;5779:34:53;818:11143:0;7402:32;2282:66:53;5735:86;;;5635;818:11143:0;5679:34:53;818:11143:0;7402:32;2282:66:53;5635:86;;;5536:85;818:11143:0;5579:34:53;818:11143:0;7402:32;2282:66:53;5536:85;;;5437;818:11143:0;5480:34:53;818:11143:0;7402:32;2282:66:53;5437:85;;;5338;818:11143:0;5381:34:53;818:11143:0;7402:32;2282:66:53;5338:85;;;5239;818:11143:0;5282:34:53;818:11143:0;7402:32;2282:66:53;5239:85;;;5141:84;818:11143:0;5183:34:53;818:11143:0;7402:32;2282:66:53;5141:84;;;5043;818:11143:0;5085:34:53;818:11143:0;7402:32;2282:66:53;5043:84;;;4945;818:11143:0;4987:34:53;818:11143:0;7402:32;2282:66:53;4945:84;;;4847;818:11143:0;4889:34:53;818:11143:0;7402:32;2282:66:53;4847:84;;;4750:83;818:11143:0;4791:34:53;818:11143:0;7402:32;2282:66:53;4750:83;;;4653;818:11143:0;4694:34:53;818:11143:0;7402:32;2282:66:53;4653:83;;;4556;818:11143:0;4597:34:53;818:11143:0;7402:32;2282:66:53;4556:83;;;3770:78;3811:20;;;;-1:-1:-1;1431:143:36;7402:32:0;1431:143:36;7402:32:0;-1:-1:-1;1431:143:36;8507:83:53;818:11143:0;;;8580:3:53;818:11143:0;;8507:83:53;;8178:168;8281:25;;;;-1:-1:-1;1748:177:36;7402:32:0;1748:177:36;7402:32:0;-1:-1:-1;1748:177:36;7833:197:0;7939:8;;;-1:-1:-1;;7935:95:0;;7833:197;;8166:22;7833:197;;8166:22;:::i;7935:95::-;8000:18;818:11143;;;;8000:18;:::i;:::-;818:11143;;;;;;;;;;;;;;;8166:22;7963:56;7935:95;;;818:11143;;;-1:-1:-1;;;818:11143:0;;;7402:32;818:11143;;;;7402:32;818:11143;;;;;;;;;;;7402:32;;;;;;;;;;;;;;:::i;:::-;;;;818:11143;;;1516:3;818:11143;;;;;;;;:::o;1032:7:53:-;;818:11143:0;;;;;1032:7:53;818:11143:0;;;;1032:7:53;;;;;:::o;11246:713:0:-;;818:11143;;;1032:7:53;;;;11494:47:0;11421;818:11143;;;;1032:7:53;11421:47:0;:::i;:::-;11495:31;1032:7:53;818:11143:0;1032:7:53;11494:47:0;:::i;:::-;818:11143;;;;;;;;11556:14;11552:34;;11246:713;818:11143;;;;;;;;11600:14;11596:34;;11246:713;818:11143;;;1317:6:53;818:11143:0;;;11748:62;;11246:713;818:11143;;;;11856:14;11852:34;;11246:713;818:11143;;;;11900:14;11896:34;;11941:11;11246:713;:::o;11852:34::-;11872:14;-1:-1:-1;11852:34:0;;;11748:62;11782:17;;;;:::i;:::-;11748:62;;;;11596:34;11616:14;;;11596:34;;;11552;11572:14;;;11552:34;;;8344:260;;8418:6;;8414:20;;8490:1;818:11143;;;;;;;8490:1;818:11143;8506:5;8528;;;;;;8344:260;;:::o;8521:77::-;8549:5;;;8573:9;8549:5;8573;;;;:::i;:::-;:9;:::i;:::-;8490:1;818:11143;8521:77;;;8414:20;818:11143;;-1:-1:-1;8426:8:0:o", + "linkReferences": {}, + "immutableReferences": { + "36": [ + { "start": 720, "length": 32 }, + { "start": 2593, "length": 32 }, + { "start": 3957, "length": 32 }, + { "start": 4913, "length": 32 }, + { "start": 5832, "length": 32 } + ], + "40": [ + { "start": 337, "length": 32 }, + { "start": 2500, "length": 32 }, + { "start": 7365, "length": 32 } + ], + "43": [ + { "start": 2772, "length": 32 }, + { "start": 6086, "length": 32 }, + { "start": 7321, "length": 32 } + ], + "45470": [ + { "start": 410, "length": 32 }, + { "start": 538, "length": 32 }, + { "start": 618, "length": 32 }, + { "start": 1238, "length": 32 }, + { "start": 2122, "length": 32 }, + { "start": 2309, "length": 32 }, + { "start": 5433, "length": 32 }, + { "start": 5898, "length": 32 }, + { "start": 6000, "length": 32 } + ] + } + }, + "methodIdentifiers": { + "LIQUIDITY_DELTA()": "d1cfa2fb", + "MAX_OFFSET()": "8e1cf4eb", + "MIN_OFFSET()": "5e152a04", + "_entropyCallback(uint64,address,bytes32)": "52a5f1f8", + "_setPendingRequestForTest(uint64,(address,address,uint24,int24,address))": "7da44e3c", + "afterAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)": "9f063efc", + "afterDonate(address,(address,address,uint24,int24,address),uint256,uint256,bytes)": "e1b4af69", + "afterInitialize(address,(address,address,uint24,int24,address),uint160,int24)": "6fe7e6eb", + "afterRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)": "6c2bbe7e", + "afterSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),int256,bytes)": "b47b2fb1", + "beforeAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)": "259982e5", + "beforeDonate(address,(address,address,uint24,int24,address),uint256,uint256,bytes)": "b6a8b0fa", + "beforeInitialize(address,(address,address,uint24,int24,address),uint160)": "dc98354e", + "beforeRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)": "21d0ee70", + "beforeSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),bytes)": "575e24b4", + "entropy()": "47ce07cc", + "getHookPermissions()": "c4e833ce", + "getLatestTick()": "a08d0b3a", + "getPendingTickSpacing(uint64)": "b2d46b0b", + "pendingRequests(uint64)": "65b07d58", + "poolManager()": "dc4c90d3", + "priceFeedId()": "1999bb9e", + "pyth()": "f98d06f0", + "requestChaosWithPyth((address,address,uint24,int24,address),bytes[],uint64)": "92fcfed7", + "requestRandom((address,address,uint24,int24,address))": "71f6919c", + "testEntropyCallback(uint64,address,bytes32)": "c60876e9" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IPoolManager\",\"name\":\"_poolManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_entropyAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_pythAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_pythPriceFeedId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"HookNotImplemented\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotPoolManager\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"sequence\",\"type\":\"uint64\"},{\"indexed\":true,\"internalType\":\"PoolId\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"centerTick\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"randomNumber\",\"type\":\"bytes32\"}],\"name\":\"ChaosPositionPlanned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"sequence\",\"type\":\"uint64\"},{\"indexed\":true,\"internalType\":\"PoolId\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"maxAgeSec\",\"type\":\"uint64\"}],\"name\":\"ChaosPriceAndEntropyRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"sequence\",\"type\":\"uint64\"},{\"indexed\":true,\"internalType\":\"PoolId\",\"name\":\"poolId\",\"type\":\"bytes32\"}],\"name\":\"ChaosRequestQueued\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"LIQUIDITY_DELTA\",\"outputs\":[{\"internalType\":\"int128\",\"name\":\"\",\"type\":\"int128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_OFFSET\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_OFFSET\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"sequence\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"provider\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"randomNumber\",\"type\":\"bytes32\"}],\"name\":\"_entropyCallback\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"sequence\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"}],\"name\":\"_setPendingRequestForTest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"int256\",\"name\":\"liquidityDelta\",\"type\":\"int256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"internalType\":\"struct ModifyLiquidityParams\",\"name\":\"params\",\"type\":\"tuple\"},{\"internalType\":\"BalanceDelta\",\"name\":\"delta\",\"type\":\"int256\"},{\"internalType\":\"BalanceDelta\",\"name\":\"feesAccrued\",\"type\":\"int256\"},{\"internalType\":\"bytes\",\"name\":\"hookData\",\"type\":\"bytes\"}],\"name\":\"afterAddLiquidity\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"},{\"internalType\":\"BalanceDelta\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"hookData\",\"type\":\"bytes\"}],\"name\":\"afterDonate\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"name\":\"afterInitialize\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"int256\",\"name\":\"liquidityDelta\",\"type\":\"int256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"internalType\":\"struct ModifyLiquidityParams\",\"name\":\"params\",\"type\":\"tuple\"},{\"internalType\":\"BalanceDelta\",\"name\":\"delta\",\"type\":\"int256\"},{\"internalType\":\"BalanceDelta\",\"name\":\"feesAccrued\",\"type\":\"int256\"},{\"internalType\":\"bytes\",\"name\":\"hookData\",\"type\":\"bytes\"}],\"name\":\"afterRemoveLiquidity\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"},{\"internalType\":\"BalanceDelta\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"zeroForOne\",\"type\":\"bool\"},{\"internalType\":\"int256\",\"name\":\"amountSpecified\",\"type\":\"int256\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceLimitX96\",\"type\":\"uint160\"}],\"internalType\":\"struct SwapParams\",\"name\":\"params\",\"type\":\"tuple\"},{\"internalType\":\"BalanceDelta\",\"name\":\"delta\",\"type\":\"int256\"},{\"internalType\":\"bytes\",\"name\":\"hookData\",\"type\":\"bytes\"}],\"name\":\"afterSwap\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"},{\"internalType\":\"int128\",\"name\":\"\",\"type\":\"int128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"int256\",\"name\":\"liquidityDelta\",\"type\":\"int256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"internalType\":\"struct ModifyLiquidityParams\",\"name\":\"params\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"hookData\",\"type\":\"bytes\"}],\"name\":\"beforeAddLiquidity\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"hookData\",\"type\":\"bytes\"}],\"name\":\"beforeDonate\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"}],\"name\":\"beforeInitialize\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"int256\",\"name\":\"liquidityDelta\",\"type\":\"int256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"internalType\":\"struct ModifyLiquidityParams\",\"name\":\"params\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"hookData\",\"type\":\"bytes\"}],\"name\":\"beforeRemoveLiquidity\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"zeroForOne\",\"type\":\"bool\"},{\"internalType\":\"int256\",\"name\":\"amountSpecified\",\"type\":\"int256\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceLimitX96\",\"type\":\"uint160\"}],\"internalType\":\"struct SwapParams\",\"name\":\"params\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"hookData\",\"type\":\"bytes\"}],\"name\":\"beforeSwap\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"},{\"internalType\":\"BeforeSwapDelta\",\"name\":\"\",\"type\":\"int256\"},{\"internalType\":\"uint24\",\"name\":\"\",\"type\":\"uint24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"entropy\",\"outputs\":[{\"internalType\":\"contract IEntropyV2\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getHookPermissions\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"beforeInitialize\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterInitialize\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"beforeAddLiquidity\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterAddLiquidity\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"beforeRemoveLiquidity\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterRemoveLiquidity\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"beforeSwap\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterSwap\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"beforeDonate\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterDonate\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"beforeSwapReturnDelta\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterSwapReturnDelta\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterAddLiquidityReturnDelta\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"afterRemoveLiquidityReturnDelta\",\"type\":\"bool\"}],\"internalType\":\"struct Hooks.Permissions\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLatestTick\",\"outputs\":[{\"internalType\":\"int24\",\"name\":\"\",\"type\":\"int24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"seq\",\"type\":\"uint64\"}],\"name\":\"getPendingTickSpacing\",\"outputs\":[{\"internalType\":\"int24\",\"name\":\"\",\"type\":\"int24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"pendingRequests\",\"outputs\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolManager\",\"outputs\":[{\"internalType\":\"contract IPoolManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"priceFeedId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pyth\",\"outputs\":[{\"internalType\":\"contract IPyth\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"internalType\":\"bytes[]\",\"name\":\"updateData\",\"type\":\"bytes[]\"},{\"internalType\":\"uint64\",\"name\":\"maxAgeSec\",\"type\":\"uint64\"}],\"name\":\"requestChaosWithPyth\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"sequence\",\"type\":\"uint64\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"}],\"name\":\"requestRandom\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"sequence\",\"type\":\"uint64\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"seq\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"provider\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"rand\",\"type\":\"bytes32\"}],\"name\":\"testEntropyCallback\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"afterAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\":{\"params\":{\"delta\":\"The caller's balance delta after adding liquidity; the sum of principal delta, fees accrued, and hook delta\",\"feesAccrued\":\"The fees accrued since the last time fees were collected from this position\",\"hookData\":\"Arbitrary data handed into the PoolManager by the liquidity provider to be passed on to the hook\",\"key\":\"The key for the pool\",\"params\":\"The parameters for adding liquidity\",\"sender\":\"The initial msg.sender for the add liquidity call\"},\"returns\":{\"_0\":\"bytes4 The function selector for the hook\",\"_1\":\"BalanceDelta The hook's delta in token0 and token1. Positive: the hook is owed/took currency, negative: the hook owes/sent currency\"}},\"afterDonate(address,(address,address,uint24,int24,address),uint256,uint256,bytes)\":{\"params\":{\"amount0\":\"The amount of token0 being donated\",\"amount1\":\"The amount of token1 being donated\",\"hookData\":\"Arbitrary data handed into the PoolManager by the donor to be be passed on to the hook\",\"key\":\"The key for the pool\",\"sender\":\"The initial msg.sender for the donate call\"},\"returns\":{\"_0\":\"bytes4 The function selector for the hook\"}},\"afterInitialize(address,(address,address,uint24,int24,address),uint160,int24)\":{\"params\":{\"key\":\"The key for the pool being initialized\",\"sender\":\"The initial msg.sender for the initialize call\",\"sqrtPriceX96\":\"The sqrt(price) of the pool as a Q64.96\",\"tick\":\"The current tick after the state of a pool is initialized\"},\"returns\":{\"_0\":\"bytes4 The function selector for the hook\"}},\"afterRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\":{\"params\":{\"delta\":\"The caller's balance delta after removing liquidity; the sum of principal delta, fees accrued, and hook delta\",\"feesAccrued\":\"The fees accrued since the last time fees were collected from this position\",\"hookData\":\"Arbitrary data handed into the PoolManager by the liquidity provider to be be passed on to the hook\",\"key\":\"The key for the pool\",\"params\":\"The parameters for removing liquidity\",\"sender\":\"The initial msg.sender for the remove liquidity call\"},\"returns\":{\"_0\":\"bytes4 The function selector for the hook\",\"_1\":\"BalanceDelta The hook's delta in token0 and token1. Positive: the hook is owed/took currency, negative: the hook owes/sent currency\"}},\"afterSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),int256,bytes)\":{\"params\":{\"delta\":\"The amount owed to the caller (positive) or owed to the pool (negative)\",\"hookData\":\"Arbitrary data handed into the PoolManager by the swapper to be be passed on to the hook\",\"key\":\"The key for the pool\",\"params\":\"The parameters for the swap\",\"sender\":\"The initial msg.sender for the swap call\"},\"returns\":{\"_0\":\"bytes4 The function selector for the hook\",\"_1\":\"int128 The hook's delta in unspecified currency. Positive: the hook is owed/took currency, negative: the hook owes/sent currency\"}},\"beforeAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\":{\"params\":{\"hookData\":\"Arbitrary data handed into the PoolManager by the liquidity provider to be passed on to the hook\",\"key\":\"The key for the pool\",\"params\":\"The parameters for adding liquidity\",\"sender\":\"The initial msg.sender for the add liquidity call\"},\"returns\":{\"_0\":\"bytes4 The function selector for the hook\"}},\"beforeDonate(address,(address,address,uint24,int24,address),uint256,uint256,bytes)\":{\"params\":{\"amount0\":\"The amount of token0 being donated\",\"amount1\":\"The amount of token1 being donated\",\"hookData\":\"Arbitrary data handed into the PoolManager by the donor to be be passed on to the hook\",\"key\":\"The key for the pool\",\"sender\":\"The initial msg.sender for the donate call\"},\"returns\":{\"_0\":\"bytes4 The function selector for the hook\"}},\"beforeInitialize(address,(address,address,uint24,int24,address),uint160)\":{\"params\":{\"key\":\"The key for the pool being initialized\",\"sender\":\"The initial msg.sender for the initialize call\",\"sqrtPriceX96\":\"The sqrt(price) of the pool as a Q64.96\"},\"returns\":{\"_0\":\"bytes4 The function selector for the hook\"}},\"beforeRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\":{\"params\":{\"hookData\":\"Arbitrary data handed into the PoolManager by the liquidity provider to be be passed on to the hook\",\"key\":\"The key for the pool\",\"params\":\"The parameters for removing liquidity\",\"sender\":\"The initial msg.sender for the remove liquidity call\"},\"returns\":{\"_0\":\"bytes4 The function selector for the hook\"}},\"beforeSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),bytes)\":{\"params\":{\"hookData\":\"Arbitrary data handed into the PoolManager by the swapper to be be passed on to the hook\",\"key\":\"The key for the pool\",\"params\":\"The parameters for the swap\",\"sender\":\"The initial msg.sender for the swap call\"},\"returns\":{\"_0\":\"bytes4 The function selector for the hook\",\"_1\":\"BeforeSwapDelta The hook's delta in specified and unspecified currencies. Positive: the hook is owed/took currency, negative: the hook owes/sent currency\",\"_2\":\"uint24 Optionally override the lp fee, only used if three conditions are met: 1. the Pool has a dynamic fee, 2. the value's 2nd highest bit is set (23rd bit, 0x400000), and 3. the value is less than or equal to the maximum fee (1 million)\"}},\"requestChaosWithPyth((address,address,uint24,int24,address),bytes[],uint64)\":{\"details\":\"This is the function we'll hit from our scripts / MEV sim.\"},\"requestRandom((address,address,uint24,int24,address))\":{\"details\":\"Caller must send at least `entropy.getFeeV2()` native token.\"},\"testEntropyCallback(uint64,address,bytes32)\":{\"details\":\"TEST ONLY \\u2014 exposes the internal entropyCallback so mocks can call it.\"}},\"stateVariables\":{\"LIQUIDITY_DELTA\":{\"details\":\"Fixed liquidity delta per Chaos position for the demo.\"},\"MIN_OFFSET\":{\"details\":\"Bounds for random offset in ticks around the oracle tick.\"},\"entropy\":{\"details\":\"Entropy contract used for randomness.\"},\"pendingRequests\":{\"details\":\"Sequence number => poolKey mapping.\"},\"priceFeedId\":{\"details\":\"Pyth price feed id for the reference pair (e.g. ETH/USD).\"},\"pyth\":{\"details\":\"Pyth price oracle.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"NotPoolManager()\":[{\"notice\":\"Thrown when the caller is not PoolManager\"}]},\"kind\":\"user\",\"methods\":{\"_setPendingRequestForTest(uint64,(address,address,uint24,int24,address))\":{\"notice\":\"---------------------- Mocked Test Utilities ----------------------\"},\"afterAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\":{\"notice\":\"The hook called after liquidity is added\"},\"afterDonate(address,(address,address,uint24,int24,address),uint256,uint256,bytes)\":{\"notice\":\"The hook called after donate\"},\"afterInitialize(address,(address,address,uint24,int24,address),uint160,int24)\":{\"notice\":\"The hook called after the state of a pool is initialized\"},\"afterRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\":{\"notice\":\"The hook called after liquidity is removed\"},\"afterSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),int256,bytes)\":{\"notice\":\"The hook called after a swap\"},\"beforeAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\":{\"notice\":\"The hook called before liquidity is added\"},\"beforeDonate(address,(address,address,uint24,int24,address),uint256,uint256,bytes)\":{\"notice\":\"The hook called before donate\"},\"beforeInitialize(address,(address,address,uint24,int24,address),uint160)\":{\"notice\":\"The hook called before the state of a pool is initialized\"},\"beforeRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\":{\"notice\":\"The hook called before liquidity is removed\"},\"beforeSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),bytes)\":{\"notice\":\"The hook called before a swap\"},\"getHookPermissions()\":{\"notice\":\"----------------- Hook permissions -----------------\"},\"getLatestTick()\":{\"notice\":\"Exposed for testing; wraps internal oracle/helper.\"},\"poolManager()\":{\"notice\":\"The Uniswap v4 PoolManager contract\"},\"requestChaosWithPyth((address,address,uint24,int24,address),bytes[],uint64)\":{\"notice\":\"Pull Pyth price via Hermes updateData, then request Entropy randomness and queue a Chaos LP request for `key`.\"},\"requestRandom((address,address,uint24,int24,address))\":{\"notice\":\"Single entry point: request randomness for a Chaos LP position.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ChaosHook.sol\":\"ChaosHook\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/=lib/v4-core/node_modules/@ensdomains/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@pythnetwork/entropy-sdk-solidity/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@pythnetwork/pyth-sdk-solidity/=node_modules/@pythnetwork/pyth-sdk-solidity/\",\":@uniswap/v4-core/=lib/v4-core/\",\":@uniswap/v4-periphery/=lib/v4-periphery/\",\":ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/v4-periphery/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hardhat/=lib/v4-core/node_modules/hardhat/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":permit2/=lib/v4-periphery/lib/permit2/\",\":pyth-sdk-solidity/=lib/pyth-sdk-solidity/\",\":solmate/=lib/v4-core/lib/solmate/\",\":v4-core/=lib/v4-core/\",\":v4-periphery/=lib/v4-periphery/\"],\"viaIR\":true},\"sources\":{\"contracts/ChaosHook.sol\":{\"keccak256\":\"0xed20c5ab97ef0d943e2e05a93e832c508137abac5ffc36cd76a8584aaa53f178\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fcec31ea7ec66110f1da35feff3be80bfea2bfe5bc1969ccb24008d3f11cd3d5\",\"dweb:/ipfs/QmRjTok17MZqkMcfcsaFiXfGD1RMcFmSJAXSEYXAPLBrhk\"]},\"lib/v4-core/src/interfaces/IExtsload.sol\":{\"keccak256\":\"0x80b53ca4907d6f0088c3b931f2b72cad1dc4615a95094d96bd0fb8dff8d5ba43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://375c69148622aab7a3537d5fd37d373a8e9731022c8d87bdaee46233b0a99fe1\",\"dweb:/ipfs/QmXFjdoYRxsA5B1kyuxEXgNf3FBoL1zPvy26Qy8EtpdFRN\"]},\"lib/v4-core/src/interfaces/IExttload.sol\":{\"keccak256\":\"0xc6b68283ebd8d1c789df536756726eed51c589134bb20821b236a0d22a135937\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://294394f72dfc219689209f4130d85601dfd0d63c8d47578050d312db70f9b6c8\",\"dweb:/ipfs/QmTDMQ3oxCGHgEBU48a3Lp4S1rRjc8vVCxkhE5ZNej1bsY\"]},\"lib/v4-core/src/interfaces/IHooks.sol\":{\"keccak256\":\"0xc131ffa2d04c10a012fe715fe2c115811526b7ea34285cf0a04ce7ce8320da8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b212358897db5d99c21244d88f97b2e788527552cb430629b472a8cc6289aec\",\"dweb:/ipfs/QmQtwV4dDe2RYk2ErLpaAX7U82jWh1L6Lw2HRuKDvBi84G\"]},\"lib/v4-core/src/interfaces/IPoolManager.sol\":{\"keccak256\":\"0xbdab3544da3d32dfdf7457baa94e17d5a3012952428559e013ffac45d067038e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce95ff864468e37c76adf71df061d4f3d6f3a5ec1f9bc3aea090463bc72798f4\",\"dweb:/ipfs/QmSbWh1pLbz51yQF4HEu5NRhr8XVv9JYGEw1hq1HudAnCi\"]},\"lib/v4-core/src/interfaces/IProtocolFees.sol\":{\"keccak256\":\"0x32a666e588a2f66334430357bb1e2424fe7eebeb98a3364b1dd16eb6ccca9848\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85751d302125881f72e5f8af051c2d5d9b1f606ebaea8ca7d04fccdd27cc252d\",\"dweb:/ipfs/QmeRwomeh9NWm6A6fgNA4KZPQZHPpdKsPQyYsHSFmvud7J\"]},\"lib/v4-core/src/interfaces/external/IERC20Minimal.sol\":{\"keccak256\":\"0xeccadf1bf69ba2eb51f2fe4fa511bc7bb05bbd6b9f9a3cb8e5d83d9582613e0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://118757369892687b99ef46ce28d6861f62c098285bd7687a4f17f7e44e5f81de\",\"dweb:/ipfs/QmUxqbYqQtcEwwFbb9e6BBMePEaSgN8C45v6RKubD4ib8d\"]},\"lib/v4-core/src/interfaces/external/IERC6909Claims.sol\":{\"keccak256\":\"0xa586f345739e52b0488a0fe40b6e375cce67fdd25758408b0efcb5133ad96a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8c557b7e52abdbbd82e415a1acc27921446a7fd090b7d4877e52be72619547f\",\"dweb:/ipfs/QmXE2KNPbXmGX8BQF3ei6zhzRTnhoTQg39XmqMnkhbr6QK\"]},\"lib/v4-core/src/libraries/BitMath.sol\":{\"keccak256\":\"0x51b9be4f5c4fd3e80cbc9631a65244a2eb2be250b6b7f128a2035080e18aee8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe98bbd5498e912146b9319827fc63621eb66ff55d5baae0fa02a7a972ab8d1e\",\"dweb:/ipfs/QmY5hCuyrtgsJtk4AavrxcvBkRrChfr4N6ZnhdC8roPpNi\"]},\"lib/v4-core/src/libraries/CustomRevert.sol\":{\"keccak256\":\"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd\",\"dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt\"]},\"lib/v4-core/src/libraries/Hooks.sol\":{\"keccak256\":\"0xd679b4b2d429689bc44f136050ebc958fb2d7d0d3a3c7b3e48c08ab4fba09aaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://287190cb72840e5eb63cc7a8a1d0b9150af17d8e4ea0323f47c7e7928f2033cb\",\"dweb:/ipfs/QmVfqWBnAQM2jUcuREDdvjcP21gNuLU35CoL3NG5CEhNcx\"]},\"lib/v4-core/src/libraries/LPFeeLibrary.sol\":{\"keccak256\":\"0xbf6914e01014e7c1044111feb7df7a3d96bb503b3da827ad8464b1955580d13b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33823c20a91882c9aacdcbb02f0558c05209f4d5954aa6dd4fa17c95664db475\",\"dweb:/ipfs/QmR7owkFgpfztpp1QUg3ut3nw9iPVQqLGP4hzgmZtRUQ2J\"]},\"lib/v4-core/src/libraries/ParseBytes.sol\":{\"keccak256\":\"0x7533b13f53ee2c2c55500100b22ffd6e37e7523c27874edc98663d53a8672b15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82449058634fde28a085f3c59a6a5f412550c02181590593fd84c3e8b329aa17\",\"dweb:/ipfs/Qmev4E9Au6SsE4wsArChCwfg94KhHc5gYsEsZUnjF5sRLa\"]},\"lib/v4-core/src/libraries/SafeCast.sol\":{\"keccak256\":\"0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59\",\"dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj\"]},\"lib/v4-core/src/libraries/TickMath.sol\":{\"keccak256\":\"0x4e1a11e154eb06106cb1c4598f06cca5f5ca16eaa33494ba2f0e74981123eca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a79a57f7b240783b045168d1c4f774ac1812caf8f9a83cb6959a86b0b07b6c70\",\"dweb:/ipfs/QmTb5kvxwDNW8jDuQaqdJ445cCFejNkUqEB17Bjo8UBiva\"]},\"lib/v4-core/src/types/BalanceDelta.sol\":{\"keccak256\":\"0xa719c8fe51e0a9524280178f19f6851bcc3b3b60e73618f3d60905d35ae5569f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7436928dc9de35c6c7c5c636cb51adaf295cfd590da83b19a004ae33cbec9ef9\",\"dweb:/ipfs/QmRJ9yZkUpzk4433GX3LgVVL8jwpbSYSUwXcucKisf3v4H\"]},\"lib/v4-core/src/types/BeforeSwapDelta.sol\":{\"keccak256\":\"0x2a774312d91285313d569da1a718c909655da5432310417692097a1d4dc83a78\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2c7a0379955cff9c17ab9e61f95e42909aa5947c22740f86ce940d09856f782\",\"dweb:/ipfs/QmaAuo8UBYXsGrVuKh8iRoAAdqwtg1jDq515cW1ZRP5m9K\"]},\"lib/v4-core/src/types/Currency.sol\":{\"keccak256\":\"0x4a0b84b282577ff6f8acf13ec9f4d32dbb9348748b49611d00e68bee96609c93\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45f9d62ab3d51b52957279e353853ba1547c3182c9a1e3d1846ada4a90263b01\",\"dweb:/ipfs/QmS8NG84ccQS1yXVD8cv3eKX7J1UKxuJhbUfHTQR2opKF5\"]},\"lib/v4-core/src/types/PoolId.sol\":{\"keccak256\":\"0x308311916ea0f5c2fd878b6a2751eb223d170a69e33f601fae56dfe3c5d392af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://669c2cd7ac17690b5d8831e0bda72822376c3a04b36afed6d31df4d75fe60918\",\"dweb:/ipfs/QmT6EpkxqU8VF3WsgrZ66F3s1cCQRffR95z1HDYZz7ph6y\"]},\"lib/v4-core/src/types/PoolKey.sol\":{\"keccak256\":\"0xf89856e0580d7a4856d3187a76858377ccee9d59702d230c338d84388221b786\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3118fa189025695c37fdf0bdd1190f085ad097484d3c88cf4c56d1db65f639\",\"dweb:/ipfs/QmamXpgtB8GV1CaFLvqefPWSoikLDhMk1yU4heBnVzU8gi\"]},\"lib/v4-core/src/types/PoolOperation.sol\":{\"keccak256\":\"0x7a1a107fc1f2208abb2c9364c8c54e56e98dca27673e9441bed2b949b6382162\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ad2470383bc5595d5af17840c64971f457adac68895a4db41ba5c71a4478e07\",\"dweb:/ipfs/QmdwKhBHDZFuqXrR2BfDBD9r7rB2ULGQBznsajRTkTmL4c\"]},\"lib/v4-periphery/src/base/ImmutableState.sol\":{\"keccak256\":\"0x1867c9fa2f9b4fa73bab0fcdc9d19ccef4eeac552273d8b84a170cd1cc90350a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af2d699b439e13b599632fddfe82718aebd41055fba7c075f186675c588d1337\",\"dweb:/ipfs/Qmc111gckSKb9aESn3wRFLeLiS4KGujaUcaYJgRnCRfwQU\"]},\"lib/v4-periphery/src/interfaces/IImmutableState.sol\":{\"keccak256\":\"0x36ab3100e87457ecf04887f4f540e34fd7f21d8e3b83880cb679239e60b7b06b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f290c7ce8e4832608d637a51b13dff95abecf6549485448e647a11c8ed01341\",\"dweb:/ipfs/QmfD1R6mTp8j4EjQXmQZW3vCh11EYFjnvoaw8rXRP27mMq\"]},\"lib/v4-periphery/src/utils/BaseHook.sol\":{\"keccak256\":\"0x6268607345149d912996d1c2bac693b2102304cc97c19ec4fef184d6fa390e89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6c0dddffa6c5eb3c10bc45d56d58bc3f4773778322fa10a4acf46e2292b61b3\",\"dweb:/ipfs/Qmc1Srhh6ne5Lsi2Y5BBz8pgPLmJdg8uN1UCeJzKnr6Kra\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol\":{\"keccak256\":\"0x385eb7fb335b3c7037e5d2ecf119f42baa4f69fbc535daf1effbc26e774a6a4a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b62bfbf9e5969390d22c4ad0a6c5d64a1091d0cdef3e19e72482333c88c0e39b\",\"dweb:/ipfs/QmaN1oB9u82CaxYcGyKDxZKDhjYiM8J324AE6j5yCjFReK\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEventsV2.sol\":{\"keccak256\":\"0xc8c2438857680a605d6b441f0b5fa21054dce0ae1db0a7ef8b8ab14a97249e4e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://81739805ac90c9bc91e87e4e42d57c5420cfb179a3f9088fb8416e4ba2eeade3\",\"dweb:/ipfs/QmSvrb38Bn8tDCcaC9vZpV4J8BnXy8y9fSNMaUdNaKMA28\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol\":{\"keccak256\":\"0xc23ba702644b68f402b5cd1ef98da7c194ae4a3d05249a88b75160c503704809\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://b2ac288f4e8cd2484cf8abb7bb709e4709e4ffa10697945498ba365312cfe191\",\"dweb:/ipfs/Qme9QS4P94gb9B81qLYX3EE2pQrb7MJSAaZygHuydpZo6n\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructsV2.sol\":{\"keccak256\":\"0xca3e9a064e5e557f767475d4a543399c315babce9681f98454950e7fe52ed44c\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://149efc8c37b0d325da7ee2dae5bfffcbd6f420acdb8445f0744e351b4a392688\",\"dweb:/ipfs/QmUW5Z72iFDwxdeWh76kYNyT1agDao2AVmpc4zSC5q8Laz\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol\":{\"keccak256\":\"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952\",\"dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyV2.sol\":{\"keccak256\":\"0xbfa09defc676b17bc4cb9d8e17f703c885de676d16396e45963dbe104afaba6a\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://cdf892b3def9c3e506e197ffe1ed1c040d6e4e668b9249439eacac965d98c3d5\",\"dweb:/ipfs/QmRzQev7pKackFa33pVqwjf3iYt6GdDzCCvwUY5c8Z4tXU\"]},\"node_modules/@pythnetwork/pyth-sdk-solidity/IPyth.sol\":{\"keccak256\":\"0xdd07c2c02083b3cbb23f40608c15c5531f59014955216fc7f513926e01c8b70b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://fa1c4eea55dabbca94c55e6d7159b4794ca19440faea11e2d4e1f30283427eed\",\"dweb:/ipfs/QmeAz8t4yh5DsDhX5v64s3THHzAUVpK2dWCYiy9vSciyp7\"]},\"node_modules/@pythnetwork/pyth-sdk-solidity/IPythEvents.sol\":{\"keccak256\":\"0xd67239becd2c39bd9d065830be24e70606f5747ab31b8818bea849d09ac17ddc\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e719bd2d8c1d8d46713aeb700dd6b5ddd766a77830ea9ae3cc9327f67ed775d1\",\"dweb:/ipfs/QmNQYyRVFLEvLsCSTkHkAemTvvZm4CzLN7hUdMidMcBS7u\"]},\"node_modules/@pythnetwork/pyth-sdk-solidity/PythStructs.sol\":{\"keccak256\":\"0x474436bf0d558cc9b2c00a9d0ce318147acdf7963f34ef4acadb9248e65bbc7b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://2b8f9bd9de35e67c7bdbf04d8c2e771718fcc8666456ca5f92dbd914e4a5f2b3\",\"dweb:/ipfs/QmNP3ShBYRp4RiVbAudMB7rNHAqgtwn8pPBzb8JTUaViRh\"]}},\"version\":1}", + "metadata": { + "compiler": { "version": "0.8.26+commit.8a97fa7a" }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "contract IPoolManager", + "name": "_poolManager", + "type": "address" + }, + { + "internalType": "address", + "name": "_entropyAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_pythAddress", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_pythPriceFeedId", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { "inputs": [], "type": "error", "name": "HookNotImplemented" }, + { "inputs": [], "type": "error", "name": "NotPoolManager" }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "sequence", + "type": "uint64", + "indexed": true + }, + { + "internalType": "PoolId", + "name": "poolId", + "type": "bytes32", + "indexed": true + }, + { + "internalType": "int24", + "name": "centerTick", + "type": "int24", + "indexed": false + }, + { + "internalType": "int24", + "name": "tickLower", + "type": "int24", + "indexed": false + }, + { + "internalType": "int24", + "name": "tickUpper", + "type": "int24", + "indexed": false + }, + { + "internalType": "bytes32", + "name": "randomNumber", + "type": "bytes32", + "indexed": false + } + ], + "type": "event", + "name": "ChaosPositionPlanned", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "sequence", + "type": "uint64", + "indexed": true + }, + { + "internalType": "PoolId", + "name": "poolId", + "type": "bytes32", + "indexed": true + }, + { + "internalType": "uint64", + "name": "maxAgeSec", + "type": "uint64", + "indexed": false + } + ], + "type": "event", + "name": "ChaosPriceAndEntropyRequested", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "sequence", + "type": "uint64", + "indexed": true + }, + { + "internalType": "PoolId", + "name": "poolId", + "type": "bytes32", + "indexed": true + } + ], + "type": "event", + "name": "ChaosRequestQueued", + "anonymous": false + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "LIQUIDITY_DELTA", + "outputs": [ + { "internalType": "int128", "name": "", "type": "int128" } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "MAX_OFFSET", + "outputs": [ + { "internalType": "int256", "name": "", "type": "int256" } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "MIN_OFFSET", + "outputs": [ + { "internalType": "int256", "name": "", "type": "int256" } + ] + }, + { + "inputs": [ + { "internalType": "uint64", "name": "sequence", "type": "uint64" }, + { + "internalType": "address", + "name": "provider", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "randomNumber", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "_entropyCallback" + }, + { + "inputs": [ + { "internalType": "uint64", "name": "sequence", "type": "uint64" }, + { + "internalType": "struct PoolKey", + "name": "key", + "type": "tuple", + "components": [ + { + "internalType": "Currency", + "name": "currency0", + "type": "address" + }, + { + "internalType": "Currency", + "name": "currency1", + "type": "address" + }, + { "internalType": "uint24", "name": "fee", "type": "uint24" }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + }, + { + "internalType": "contract IHooks", + "name": "hooks", + "type": "address" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "_setPendingRequestForTest" + }, + { + "inputs": [ + { "internalType": "address", "name": "sender", "type": "address" }, + { + "internalType": "struct PoolKey", + "name": "key", + "type": "tuple", + "components": [ + { + "internalType": "Currency", + "name": "currency0", + "type": "address" + }, + { + "internalType": "Currency", + "name": "currency1", + "type": "address" + }, + { "internalType": "uint24", "name": "fee", "type": "uint24" }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + }, + { + "internalType": "contract IHooks", + "name": "hooks", + "type": "address" + } + ] + }, + { + "internalType": "struct ModifyLiquidityParams", + "name": "params", + "type": "tuple", + "components": [ + { + "internalType": "int24", + "name": "tickLower", + "type": "int24" + }, + { + "internalType": "int24", + "name": "tickUpper", + "type": "int24" + }, + { + "internalType": "int256", + "name": "liquidityDelta", + "type": "int256" + }, + { "internalType": "bytes32", "name": "salt", "type": "bytes32" } + ] + }, + { + "internalType": "BalanceDelta", + "name": "delta", + "type": "int256" + }, + { + "internalType": "BalanceDelta", + "name": "feesAccrued", + "type": "int256" + }, + { "internalType": "bytes", "name": "hookData", "type": "bytes" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "afterAddLiquidity", + "outputs": [ + { "internalType": "bytes4", "name": "", "type": "bytes4" }, + { "internalType": "BalanceDelta", "name": "", "type": "int256" } + ] + }, + { + "inputs": [ + { "internalType": "address", "name": "sender", "type": "address" }, + { + "internalType": "struct PoolKey", + "name": "key", + "type": "tuple", + "components": [ + { + "internalType": "Currency", + "name": "currency0", + "type": "address" + }, + { + "internalType": "Currency", + "name": "currency1", + "type": "address" + }, + { "internalType": "uint24", "name": "fee", "type": "uint24" }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + }, + { + "internalType": "contract IHooks", + "name": "hooks", + "type": "address" + } + ] + }, + { "internalType": "uint256", "name": "amount0", "type": "uint256" }, + { "internalType": "uint256", "name": "amount1", "type": "uint256" }, + { "internalType": "bytes", "name": "hookData", "type": "bytes" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "afterDonate", + "outputs": [ + { "internalType": "bytes4", "name": "", "type": "bytes4" } + ] + }, + { + "inputs": [ + { "internalType": "address", "name": "sender", "type": "address" }, + { + "internalType": "struct PoolKey", + "name": "key", + "type": "tuple", + "components": [ + { + "internalType": "Currency", + "name": "currency0", + "type": "address" + }, + { + "internalType": "Currency", + "name": "currency1", + "type": "address" + }, + { "internalType": "uint24", "name": "fee", "type": "uint24" }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + }, + { + "internalType": "contract IHooks", + "name": "hooks", + "type": "address" + } + ] + }, + { + "internalType": "uint160", + "name": "sqrtPriceX96", + "type": "uint160" + }, + { "internalType": "int24", "name": "tick", "type": "int24" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "afterInitialize", + "outputs": [ + { "internalType": "bytes4", "name": "", "type": "bytes4" } + ] + }, + { + "inputs": [ + { "internalType": "address", "name": "sender", "type": "address" }, + { + "internalType": "struct PoolKey", + "name": "key", + "type": "tuple", + "components": [ + { + "internalType": "Currency", + "name": "currency0", + "type": "address" + }, + { + "internalType": "Currency", + "name": "currency1", + "type": "address" + }, + { "internalType": "uint24", "name": "fee", "type": "uint24" }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + }, + { + "internalType": "contract IHooks", + "name": "hooks", + "type": "address" + } + ] + }, + { + "internalType": "struct ModifyLiquidityParams", + "name": "params", + "type": "tuple", + "components": [ + { + "internalType": "int24", + "name": "tickLower", + "type": "int24" + }, + { + "internalType": "int24", + "name": "tickUpper", + "type": "int24" + }, + { + "internalType": "int256", + "name": "liquidityDelta", + "type": "int256" + }, + { "internalType": "bytes32", "name": "salt", "type": "bytes32" } + ] + }, + { + "internalType": "BalanceDelta", + "name": "delta", + "type": "int256" + }, + { + "internalType": "BalanceDelta", + "name": "feesAccrued", + "type": "int256" + }, + { "internalType": "bytes", "name": "hookData", "type": "bytes" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "afterRemoveLiquidity", + "outputs": [ + { "internalType": "bytes4", "name": "", "type": "bytes4" }, + { "internalType": "BalanceDelta", "name": "", "type": "int256" } + ] + }, + { + "inputs": [ + { "internalType": "address", "name": "sender", "type": "address" }, + { + "internalType": "struct PoolKey", + "name": "key", + "type": "tuple", + "components": [ + { + "internalType": "Currency", + "name": "currency0", + "type": "address" + }, + { + "internalType": "Currency", + "name": "currency1", + "type": "address" + }, + { "internalType": "uint24", "name": "fee", "type": "uint24" }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + }, + { + "internalType": "contract IHooks", + "name": "hooks", + "type": "address" + } + ] + }, + { + "internalType": "struct SwapParams", + "name": "params", + "type": "tuple", + "components": [ + { + "internalType": "bool", + "name": "zeroForOne", + "type": "bool" + }, + { + "internalType": "int256", + "name": "amountSpecified", + "type": "int256" + }, + { + "internalType": "uint160", + "name": "sqrtPriceLimitX96", + "type": "uint160" + } + ] + }, + { + "internalType": "BalanceDelta", + "name": "delta", + "type": "int256" + }, + { "internalType": "bytes", "name": "hookData", "type": "bytes" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "afterSwap", + "outputs": [ + { "internalType": "bytes4", "name": "", "type": "bytes4" }, + { "internalType": "int128", "name": "", "type": "int128" } + ] + }, + { + "inputs": [ + { "internalType": "address", "name": "sender", "type": "address" }, + { + "internalType": "struct PoolKey", + "name": "key", + "type": "tuple", + "components": [ + { + "internalType": "Currency", + "name": "currency0", + "type": "address" + }, + { + "internalType": "Currency", + "name": "currency1", + "type": "address" + }, + { "internalType": "uint24", "name": "fee", "type": "uint24" }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + }, + { + "internalType": "contract IHooks", + "name": "hooks", + "type": "address" + } + ] + }, + { + "internalType": "struct ModifyLiquidityParams", + "name": "params", + "type": "tuple", + "components": [ + { + "internalType": "int24", + "name": "tickLower", + "type": "int24" + }, + { + "internalType": "int24", + "name": "tickUpper", + "type": "int24" + }, + { + "internalType": "int256", + "name": "liquidityDelta", + "type": "int256" + }, + { "internalType": "bytes32", "name": "salt", "type": "bytes32" } + ] + }, + { "internalType": "bytes", "name": "hookData", "type": "bytes" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "beforeAddLiquidity", + "outputs": [ + { "internalType": "bytes4", "name": "", "type": "bytes4" } + ] + }, + { + "inputs": [ + { "internalType": "address", "name": "sender", "type": "address" }, + { + "internalType": "struct PoolKey", + "name": "key", + "type": "tuple", + "components": [ + { + "internalType": "Currency", + "name": "currency0", + "type": "address" + }, + { + "internalType": "Currency", + "name": "currency1", + "type": "address" + }, + { "internalType": "uint24", "name": "fee", "type": "uint24" }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + }, + { + "internalType": "contract IHooks", + "name": "hooks", + "type": "address" + } + ] + }, + { "internalType": "uint256", "name": "amount0", "type": "uint256" }, + { "internalType": "uint256", "name": "amount1", "type": "uint256" }, + { "internalType": "bytes", "name": "hookData", "type": "bytes" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "beforeDonate", + "outputs": [ + { "internalType": "bytes4", "name": "", "type": "bytes4" } + ] + }, + { + "inputs": [ + { "internalType": "address", "name": "sender", "type": "address" }, + { + "internalType": "struct PoolKey", + "name": "key", + "type": "tuple", + "components": [ + { + "internalType": "Currency", + "name": "currency0", + "type": "address" + }, + { + "internalType": "Currency", + "name": "currency1", + "type": "address" + }, + { "internalType": "uint24", "name": "fee", "type": "uint24" }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + }, + { + "internalType": "contract IHooks", + "name": "hooks", + "type": "address" + } + ] + }, + { + "internalType": "uint160", + "name": "sqrtPriceX96", + "type": "uint160" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "beforeInitialize", + "outputs": [ + { "internalType": "bytes4", "name": "", "type": "bytes4" } + ] + }, + { + "inputs": [ + { "internalType": "address", "name": "sender", "type": "address" }, + { + "internalType": "struct PoolKey", + "name": "key", + "type": "tuple", + "components": [ + { + "internalType": "Currency", + "name": "currency0", + "type": "address" + }, + { + "internalType": "Currency", + "name": "currency1", + "type": "address" + }, + { "internalType": "uint24", "name": "fee", "type": "uint24" }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + }, + { + "internalType": "contract IHooks", + "name": "hooks", + "type": "address" + } + ] + }, + { + "internalType": "struct ModifyLiquidityParams", + "name": "params", + "type": "tuple", + "components": [ + { + "internalType": "int24", + "name": "tickLower", + "type": "int24" + }, + { + "internalType": "int24", + "name": "tickUpper", + "type": "int24" + }, + { + "internalType": "int256", + "name": "liquidityDelta", + "type": "int256" + }, + { "internalType": "bytes32", "name": "salt", "type": "bytes32" } + ] + }, + { "internalType": "bytes", "name": "hookData", "type": "bytes" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "beforeRemoveLiquidity", + "outputs": [ + { "internalType": "bytes4", "name": "", "type": "bytes4" } + ] + }, + { + "inputs": [ + { "internalType": "address", "name": "sender", "type": "address" }, + { + "internalType": "struct PoolKey", + "name": "key", + "type": "tuple", + "components": [ + { + "internalType": "Currency", + "name": "currency0", + "type": "address" + }, + { + "internalType": "Currency", + "name": "currency1", + "type": "address" + }, + { "internalType": "uint24", "name": "fee", "type": "uint24" }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + }, + { + "internalType": "contract IHooks", + "name": "hooks", + "type": "address" + } + ] + }, + { + "internalType": "struct SwapParams", + "name": "params", + "type": "tuple", + "components": [ + { + "internalType": "bool", + "name": "zeroForOne", + "type": "bool" + }, + { + "internalType": "int256", + "name": "amountSpecified", + "type": "int256" + }, + { + "internalType": "uint160", + "name": "sqrtPriceLimitX96", + "type": "uint160" + } + ] + }, + { "internalType": "bytes", "name": "hookData", "type": "bytes" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "beforeSwap", + "outputs": [ + { "internalType": "bytes4", "name": "", "type": "bytes4" }, + { "internalType": "BeforeSwapDelta", "name": "", "type": "int256" }, + { "internalType": "uint24", "name": "", "type": "uint24" } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "entropy", + "outputs": [ + { + "internalType": "contract IEntropyV2", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "pure", + "type": "function", + "name": "getHookPermissions", + "outputs": [ + { + "internalType": "struct Hooks.Permissions", + "name": "", + "type": "tuple", + "components": [ + { + "internalType": "bool", + "name": "beforeInitialize", + "type": "bool" + }, + { + "internalType": "bool", + "name": "afterInitialize", + "type": "bool" + }, + { + "internalType": "bool", + "name": "beforeAddLiquidity", + "type": "bool" + }, + { + "internalType": "bool", + "name": "afterAddLiquidity", + "type": "bool" + }, + { + "internalType": "bool", + "name": "beforeRemoveLiquidity", + "type": "bool" + }, + { + "internalType": "bool", + "name": "afterRemoveLiquidity", + "type": "bool" + }, + { + "internalType": "bool", + "name": "beforeSwap", + "type": "bool" + }, + { "internalType": "bool", "name": "afterSwap", "type": "bool" }, + { + "internalType": "bool", + "name": "beforeDonate", + "type": "bool" + }, + { + "internalType": "bool", + "name": "afterDonate", + "type": "bool" + }, + { + "internalType": "bool", + "name": "beforeSwapReturnDelta", + "type": "bool" + }, + { + "internalType": "bool", + "name": "afterSwapReturnDelta", + "type": "bool" + }, + { + "internalType": "bool", + "name": "afterAddLiquidityReturnDelta", + "type": "bool" + }, + { + "internalType": "bool", + "name": "afterRemoveLiquidityReturnDelta", + "type": "bool" + } + ] + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "getLatestTick", + "outputs": [{ "internalType": "int24", "name": "", "type": "int24" }] + }, + { + "inputs": [ + { "internalType": "uint64", "name": "seq", "type": "uint64" } + ], + "stateMutability": "view", + "type": "function", + "name": "getPendingTickSpacing", + "outputs": [{ "internalType": "int24", "name": "", "type": "int24" }] + }, + { + "inputs": [ + { "internalType": "uint64", "name": "", "type": "uint64" } + ], + "stateMutability": "view", + "type": "function", + "name": "pendingRequests", + "outputs": [ + { + "internalType": "Currency", + "name": "currency0", + "type": "address" + }, + { + "internalType": "Currency", + "name": "currency1", + "type": "address" + }, + { "internalType": "uint24", "name": "fee", "type": "uint24" }, + { "internalType": "int24", "name": "tickSpacing", "type": "int24" }, + { + "internalType": "contract IHooks", + "name": "hooks", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "poolManager", + "outputs": [ + { + "internalType": "contract IPoolManager", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "priceFeedId", + "outputs": [ + { "internalType": "bytes32", "name": "", "type": "bytes32" } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "pyth", + "outputs": [ + { "internalType": "contract IPyth", "name": "", "type": "address" } + ] + }, + { + "inputs": [ + { + "internalType": "struct PoolKey", + "name": "key", + "type": "tuple", + "components": [ + { + "internalType": "Currency", + "name": "currency0", + "type": "address" + }, + { + "internalType": "Currency", + "name": "currency1", + "type": "address" + }, + { "internalType": "uint24", "name": "fee", "type": "uint24" }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + }, + { + "internalType": "contract IHooks", + "name": "hooks", + "type": "address" + } + ] + }, + { + "internalType": "bytes[]", + "name": "updateData", + "type": "bytes[]" + }, + { "internalType": "uint64", "name": "maxAgeSec", "type": "uint64" } + ], + "stateMutability": "payable", + "type": "function", + "name": "requestChaosWithPyth", + "outputs": [ + { "internalType": "uint64", "name": "sequence", "type": "uint64" } + ] + }, + { + "inputs": [ + { + "internalType": "struct PoolKey", + "name": "key", + "type": "tuple", + "components": [ + { + "internalType": "Currency", + "name": "currency0", + "type": "address" + }, + { + "internalType": "Currency", + "name": "currency1", + "type": "address" + }, + { "internalType": "uint24", "name": "fee", "type": "uint24" }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + }, + { + "internalType": "contract IHooks", + "name": "hooks", + "type": "address" + } + ] + } + ], + "stateMutability": "payable", + "type": "function", + "name": "requestRandom", + "outputs": [ + { "internalType": "uint64", "name": "sequence", "type": "uint64" } + ] + }, + { + "inputs": [ + { "internalType": "uint64", "name": "seq", "type": "uint64" }, + { + "internalType": "address", + "name": "provider", + "type": "address" + }, + { "internalType": "bytes32", "name": "rand", "type": "bytes32" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "testEntropyCallback" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "afterAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)": { + "params": { + "delta": "The caller's balance delta after adding liquidity; the sum of principal delta, fees accrued, and hook delta", + "feesAccrued": "The fees accrued since the last time fees were collected from this position", + "hookData": "Arbitrary data handed into the PoolManager by the liquidity provider to be passed on to the hook", + "key": "The key for the pool", + "params": "The parameters for adding liquidity", + "sender": "The initial msg.sender for the add liquidity call" + }, + "returns": { + "_0": "bytes4 The function selector for the hook", + "_1": "BalanceDelta The hook's delta in token0 and token1. Positive: the hook is owed/took currency, negative: the hook owes/sent currency" + } + }, + "afterDonate(address,(address,address,uint24,int24,address),uint256,uint256,bytes)": { + "params": { + "amount0": "The amount of token0 being donated", + "amount1": "The amount of token1 being donated", + "hookData": "Arbitrary data handed into the PoolManager by the donor to be be passed on to the hook", + "key": "The key for the pool", + "sender": "The initial msg.sender for the donate call" + }, + "returns": { "_0": "bytes4 The function selector for the hook" } + }, + "afterInitialize(address,(address,address,uint24,int24,address),uint160,int24)": { + "params": { + "key": "The key for the pool being initialized", + "sender": "The initial msg.sender for the initialize call", + "sqrtPriceX96": "The sqrt(price) of the pool as a Q64.96", + "tick": "The current tick after the state of a pool is initialized" + }, + "returns": { "_0": "bytes4 The function selector for the hook" } + }, + "afterRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)": { + "params": { + "delta": "The caller's balance delta after removing liquidity; the sum of principal delta, fees accrued, and hook delta", + "feesAccrued": "The fees accrued since the last time fees were collected from this position", + "hookData": "Arbitrary data handed into the PoolManager by the liquidity provider to be be passed on to the hook", + "key": "The key for the pool", + "params": "The parameters for removing liquidity", + "sender": "The initial msg.sender for the remove liquidity call" + }, + "returns": { + "_0": "bytes4 The function selector for the hook", + "_1": "BalanceDelta The hook's delta in token0 and token1. Positive: the hook is owed/took currency, negative: the hook owes/sent currency" + } + }, + "afterSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),int256,bytes)": { + "params": { + "delta": "The amount owed to the caller (positive) or owed to the pool (negative)", + "hookData": "Arbitrary data handed into the PoolManager by the swapper to be be passed on to the hook", + "key": "The key for the pool", + "params": "The parameters for the swap", + "sender": "The initial msg.sender for the swap call" + }, + "returns": { + "_0": "bytes4 The function selector for the hook", + "_1": "int128 The hook's delta in unspecified currency. Positive: the hook is owed/took currency, negative: the hook owes/sent currency" + } + }, + "beforeAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)": { + "params": { + "hookData": "Arbitrary data handed into the PoolManager by the liquidity provider to be passed on to the hook", + "key": "The key for the pool", + "params": "The parameters for adding liquidity", + "sender": "The initial msg.sender for the add liquidity call" + }, + "returns": { "_0": "bytes4 The function selector for the hook" } + }, + "beforeDonate(address,(address,address,uint24,int24,address),uint256,uint256,bytes)": { + "params": { + "amount0": "The amount of token0 being donated", + "amount1": "The amount of token1 being donated", + "hookData": "Arbitrary data handed into the PoolManager by the donor to be be passed on to the hook", + "key": "The key for the pool", + "sender": "The initial msg.sender for the donate call" + }, + "returns": { "_0": "bytes4 The function selector for the hook" } + }, + "beforeInitialize(address,(address,address,uint24,int24,address),uint160)": { + "params": { + "key": "The key for the pool being initialized", + "sender": "The initial msg.sender for the initialize call", + "sqrtPriceX96": "The sqrt(price) of the pool as a Q64.96" + }, + "returns": { "_0": "bytes4 The function selector for the hook" } + }, + "beforeRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)": { + "params": { + "hookData": "Arbitrary data handed into the PoolManager by the liquidity provider to be be passed on to the hook", + "key": "The key for the pool", + "params": "The parameters for removing liquidity", + "sender": "The initial msg.sender for the remove liquidity call" + }, + "returns": { "_0": "bytes4 The function selector for the hook" } + }, + "beforeSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),bytes)": { + "params": { + "hookData": "Arbitrary data handed into the PoolManager by the swapper to be be passed on to the hook", + "key": "The key for the pool", + "params": "The parameters for the swap", + "sender": "The initial msg.sender for the swap call" + }, + "returns": { + "_0": "bytes4 The function selector for the hook", + "_1": "BeforeSwapDelta The hook's delta in specified and unspecified currencies. Positive: the hook is owed/took currency, negative: the hook owes/sent currency", + "_2": "uint24 Optionally override the lp fee, only used if three conditions are met: 1. the Pool has a dynamic fee, 2. the value's 2nd highest bit is set (23rd bit, 0x400000), and 3. the value is less than or equal to the maximum fee (1 million)" + } + }, + "requestChaosWithPyth((address,address,uint24,int24,address),bytes[],uint64)": { + "details": "This is the function we'll hit from our scripts / MEV sim." + }, + "requestRandom((address,address,uint24,int24,address))": { + "details": "Caller must send at least `entropy.getFeeV2()` native token." + }, + "testEntropyCallback(uint64,address,bytes32)": { + "details": "TEST ONLY — exposes the internal entropyCallback so mocks can call it." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "_setPendingRequestForTest(uint64,(address,address,uint24,int24,address))": { + "notice": "---------------------- Mocked Test Utilities ----------------------" + }, + "afterAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)": { + "notice": "The hook called after liquidity is added" + }, + "afterDonate(address,(address,address,uint24,int24,address),uint256,uint256,bytes)": { + "notice": "The hook called after donate" + }, + "afterInitialize(address,(address,address,uint24,int24,address),uint160,int24)": { + "notice": "The hook called after the state of a pool is initialized" + }, + "afterRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)": { + "notice": "The hook called after liquidity is removed" + }, + "afterSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),int256,bytes)": { + "notice": "The hook called after a swap" + }, + "beforeAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)": { + "notice": "The hook called before liquidity is added" + }, + "beforeDonate(address,(address,address,uint24,int24,address),uint256,uint256,bytes)": { + "notice": "The hook called before donate" + }, + "beforeInitialize(address,(address,address,uint24,int24,address),uint160)": { + "notice": "The hook called before the state of a pool is initialized" + }, + "beforeRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)": { + "notice": "The hook called before liquidity is removed" + }, + "beforeSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),bytes)": { + "notice": "The hook called before a swap" + }, + "getHookPermissions()": { + "notice": "----------------- Hook permissions -----------------" + }, + "getLatestTick()": { + "notice": "Exposed for testing; wraps internal oracle/helper." + }, + "poolManager()": { "notice": "The Uniswap v4 PoolManager contract" }, + "requestChaosWithPyth((address,address,uint24,int24,address),bytes[],uint64)": { + "notice": "Pull Pyth price via Hermes updateData, then request Entropy randomness and queue a Chaos LP request for `key`." + }, + "requestRandom((address,address,uint24,int24,address))": { + "notice": "Single entry point: request randomness for a Chaos LP position." + } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@ensdomains/=lib/v4-core/node_modules/@ensdomains/", + "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", + "@pythnetwork/entropy-sdk-solidity/=node_modules/@pythnetwork/entropy-sdk-solidity/", + "@pythnetwork/pyth-sdk-solidity/=node_modules/@pythnetwork/pyth-sdk-solidity/", + "@uniswap/v4-core/=lib/v4-core/", + "@uniswap/v4-periphery/=lib/v4-periphery/", + "ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/", + "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", + "forge-gas-snapshot/=lib/v4-periphery/lib/permit2/lib/forge-gas-snapshot/src/", + "forge-std/=lib/forge-std/src/", + "halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/", + "hardhat/=lib/v4-core/node_modules/hardhat/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/", + "permit2/=lib/v4-periphery/lib/permit2/", + "pyth-sdk-solidity/=lib/pyth-sdk-solidity/", + "solmate/=lib/v4-core/lib/solmate/", + "v4-core/=lib/v4-core/", + "v4-periphery/=lib/v4-periphery/" + ], + "optimizer": { "enabled": true, "runs": 200 }, + "metadata": { "bytecodeHash": "ipfs" }, + "compilationTarget": { "contracts/ChaosHook.sol": "ChaosHook" }, + "evmVersion": "cancun", + "libraries": {}, + "viaIR": true + }, + "sources": { + "contracts/ChaosHook.sol": { + "keccak256": "0xed20c5ab97ef0d943e2e05a93e832c508137abac5ffc36cd76a8584aaa53f178", + "urls": [ + "bzz-raw://fcec31ea7ec66110f1da35feff3be80bfea2bfe5bc1969ccb24008d3f11cd3d5", + "dweb:/ipfs/QmRjTok17MZqkMcfcsaFiXfGD1RMcFmSJAXSEYXAPLBrhk" + ], + "license": "MIT" + }, + "lib/v4-core/src/interfaces/IExtsload.sol": { + "keccak256": "0x80b53ca4907d6f0088c3b931f2b72cad1dc4615a95094d96bd0fb8dff8d5ba43", + "urls": [ + "bzz-raw://375c69148622aab7a3537d5fd37d373a8e9731022c8d87bdaee46233b0a99fe1", + "dweb:/ipfs/QmXFjdoYRxsA5B1kyuxEXgNf3FBoL1zPvy26Qy8EtpdFRN" + ], + "license": "MIT" + }, + "lib/v4-core/src/interfaces/IExttload.sol": { + "keccak256": "0xc6b68283ebd8d1c789df536756726eed51c589134bb20821b236a0d22a135937", + "urls": [ + "bzz-raw://294394f72dfc219689209f4130d85601dfd0d63c8d47578050d312db70f9b6c8", + "dweb:/ipfs/QmTDMQ3oxCGHgEBU48a3Lp4S1rRjc8vVCxkhE5ZNej1bsY" + ], + "license": "MIT" + }, + "lib/v4-core/src/interfaces/IHooks.sol": { + "keccak256": "0xc131ffa2d04c10a012fe715fe2c115811526b7ea34285cf0a04ce7ce8320da8d", + "urls": [ + "bzz-raw://3b212358897db5d99c21244d88f97b2e788527552cb430629b472a8cc6289aec", + "dweb:/ipfs/QmQtwV4dDe2RYk2ErLpaAX7U82jWh1L6Lw2HRuKDvBi84G" + ], + "license": "MIT" + }, + "lib/v4-core/src/interfaces/IPoolManager.sol": { + "keccak256": "0xbdab3544da3d32dfdf7457baa94e17d5a3012952428559e013ffac45d067038e", + "urls": [ + "bzz-raw://ce95ff864468e37c76adf71df061d4f3d6f3a5ec1f9bc3aea090463bc72798f4", + "dweb:/ipfs/QmSbWh1pLbz51yQF4HEu5NRhr8XVv9JYGEw1hq1HudAnCi" + ], + "license": "MIT" + }, + "lib/v4-core/src/interfaces/IProtocolFees.sol": { + "keccak256": "0x32a666e588a2f66334430357bb1e2424fe7eebeb98a3364b1dd16eb6ccca9848", + "urls": [ + "bzz-raw://85751d302125881f72e5f8af051c2d5d9b1f606ebaea8ca7d04fccdd27cc252d", + "dweb:/ipfs/QmeRwomeh9NWm6A6fgNA4KZPQZHPpdKsPQyYsHSFmvud7J" + ], + "license": "MIT" + }, + "lib/v4-core/src/interfaces/external/IERC20Minimal.sol": { + "keccak256": "0xeccadf1bf69ba2eb51f2fe4fa511bc7bb05bbd6b9f9a3cb8e5d83d9582613e0f", + "urls": [ + "bzz-raw://118757369892687b99ef46ce28d6861f62c098285bd7687a4f17f7e44e5f81de", + "dweb:/ipfs/QmUxqbYqQtcEwwFbb9e6BBMePEaSgN8C45v6RKubD4ib8d" + ], + "license": "MIT" + }, + "lib/v4-core/src/interfaces/external/IERC6909Claims.sol": { + "keccak256": "0xa586f345739e52b0488a0fe40b6e375cce67fdd25758408b0efcb5133ad96a48", + "urls": [ + "bzz-raw://e8c557b7e52abdbbd82e415a1acc27921446a7fd090b7d4877e52be72619547f", + "dweb:/ipfs/QmXE2KNPbXmGX8BQF3ei6zhzRTnhoTQg39XmqMnkhbr6QK" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/BitMath.sol": { + "keccak256": "0x51b9be4f5c4fd3e80cbc9631a65244a2eb2be250b6b7f128a2035080e18aee8d", + "urls": [ + "bzz-raw://fe98bbd5498e912146b9319827fc63621eb66ff55d5baae0fa02a7a972ab8d1e", + "dweb:/ipfs/QmY5hCuyrtgsJtk4AavrxcvBkRrChfr4N6ZnhdC8roPpNi" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/CustomRevert.sol": { + "keccak256": "0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de", + "urls": [ + "bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd", + "dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/Hooks.sol": { + "keccak256": "0xd679b4b2d429689bc44f136050ebc958fb2d7d0d3a3c7b3e48c08ab4fba09aaa", + "urls": [ + "bzz-raw://287190cb72840e5eb63cc7a8a1d0b9150af17d8e4ea0323f47c7e7928f2033cb", + "dweb:/ipfs/QmVfqWBnAQM2jUcuREDdvjcP21gNuLU35CoL3NG5CEhNcx" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/LPFeeLibrary.sol": { + "keccak256": "0xbf6914e01014e7c1044111feb7df7a3d96bb503b3da827ad8464b1955580d13b", + "urls": [ + "bzz-raw://33823c20a91882c9aacdcbb02f0558c05209f4d5954aa6dd4fa17c95664db475", + "dweb:/ipfs/QmR7owkFgpfztpp1QUg3ut3nw9iPVQqLGP4hzgmZtRUQ2J" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/ParseBytes.sol": { + "keccak256": "0x7533b13f53ee2c2c55500100b22ffd6e37e7523c27874edc98663d53a8672b15", + "urls": [ + "bzz-raw://82449058634fde28a085f3c59a6a5f412550c02181590593fd84c3e8b329aa17", + "dweb:/ipfs/Qmev4E9Au6SsE4wsArChCwfg94KhHc5gYsEsZUnjF5sRLa" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/SafeCast.sol": { + "keccak256": "0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86", + "urls": [ + "bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59", + "dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/TickMath.sol": { + "keccak256": "0x4e1a11e154eb06106cb1c4598f06cca5f5ca16eaa33494ba2f0e74981123eca8", + "urls": [ + "bzz-raw://a79a57f7b240783b045168d1c4f774ac1812caf8f9a83cb6959a86b0b07b6c70", + "dweb:/ipfs/QmTb5kvxwDNW8jDuQaqdJ445cCFejNkUqEB17Bjo8UBiva" + ], + "license": "MIT" + }, + "lib/v4-core/src/types/BalanceDelta.sol": { + "keccak256": "0xa719c8fe51e0a9524280178f19f6851bcc3b3b60e73618f3d60905d35ae5569f", + "urls": [ + "bzz-raw://7436928dc9de35c6c7c5c636cb51adaf295cfd590da83b19a004ae33cbec9ef9", + "dweb:/ipfs/QmRJ9yZkUpzk4433GX3LgVVL8jwpbSYSUwXcucKisf3v4H" + ], + "license": "MIT" + }, + "lib/v4-core/src/types/BeforeSwapDelta.sol": { + "keccak256": "0x2a774312d91285313d569da1a718c909655da5432310417692097a1d4dc83a78", + "urls": [ + "bzz-raw://a2c7a0379955cff9c17ab9e61f95e42909aa5947c22740f86ce940d09856f782", + "dweb:/ipfs/QmaAuo8UBYXsGrVuKh8iRoAAdqwtg1jDq515cW1ZRP5m9K" + ], + "license": "MIT" + }, + "lib/v4-core/src/types/Currency.sol": { + "keccak256": "0x4a0b84b282577ff6f8acf13ec9f4d32dbb9348748b49611d00e68bee96609c93", + "urls": [ + "bzz-raw://45f9d62ab3d51b52957279e353853ba1547c3182c9a1e3d1846ada4a90263b01", + "dweb:/ipfs/QmS8NG84ccQS1yXVD8cv3eKX7J1UKxuJhbUfHTQR2opKF5" + ], + "license": "MIT" + }, + "lib/v4-core/src/types/PoolId.sol": { + "keccak256": "0x308311916ea0f5c2fd878b6a2751eb223d170a69e33f601fae56dfe3c5d392af", + "urls": [ + "bzz-raw://669c2cd7ac17690b5d8831e0bda72822376c3a04b36afed6d31df4d75fe60918", + "dweb:/ipfs/QmT6EpkxqU8VF3WsgrZ66F3s1cCQRffR95z1HDYZz7ph6y" + ], + "license": "MIT" + }, + "lib/v4-core/src/types/PoolKey.sol": { + "keccak256": "0xf89856e0580d7a4856d3187a76858377ccee9d59702d230c338d84388221b786", + "urls": [ + "bzz-raw://6f3118fa189025695c37fdf0bdd1190f085ad097484d3c88cf4c56d1db65f639", + "dweb:/ipfs/QmamXpgtB8GV1CaFLvqefPWSoikLDhMk1yU4heBnVzU8gi" + ], + "license": "MIT" + }, + "lib/v4-core/src/types/PoolOperation.sol": { + "keccak256": "0x7a1a107fc1f2208abb2c9364c8c54e56e98dca27673e9441bed2b949b6382162", + "urls": [ + "bzz-raw://4ad2470383bc5595d5af17840c64971f457adac68895a4db41ba5c71a4478e07", + "dweb:/ipfs/QmdwKhBHDZFuqXrR2BfDBD9r7rB2ULGQBznsajRTkTmL4c" + ], + "license": "MIT" + }, + "lib/v4-periphery/src/base/ImmutableState.sol": { + "keccak256": "0x1867c9fa2f9b4fa73bab0fcdc9d19ccef4eeac552273d8b84a170cd1cc90350a", + "urls": [ + "bzz-raw://af2d699b439e13b599632fddfe82718aebd41055fba7c075f186675c588d1337", + "dweb:/ipfs/Qmc111gckSKb9aESn3wRFLeLiS4KGujaUcaYJgRnCRfwQU" + ], + "license": "MIT" + }, + "lib/v4-periphery/src/interfaces/IImmutableState.sol": { + "keccak256": "0x36ab3100e87457ecf04887f4f540e34fd7f21d8e3b83880cb679239e60b7b06b", + "urls": [ + "bzz-raw://7f290c7ce8e4832608d637a51b13dff95abecf6549485448e647a11c8ed01341", + "dweb:/ipfs/QmfD1R6mTp8j4EjQXmQZW3vCh11EYFjnvoaw8rXRP27mMq" + ], + "license": "MIT" + }, + "lib/v4-periphery/src/utils/BaseHook.sol": { + "keccak256": "0x6268607345149d912996d1c2bac693b2102304cc97c19ec4fef184d6fa390e89", + "urls": [ + "bzz-raw://d6c0dddffa6c5eb3c10bc45d56d58bc3f4773778322fa10a4acf46e2292b61b3", + "dweb:/ipfs/Qmc1Srhh6ne5Lsi2Y5BBz8pgPLmJdg8uN1UCeJzKnr6Kra" + ], + "license": "MIT" + }, + "node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol": { + "keccak256": "0x385eb7fb335b3c7037e5d2ecf119f42baa4f69fbc535daf1effbc26e774a6a4a", + "urls": [ + "bzz-raw://b62bfbf9e5969390d22c4ad0a6c5d64a1091d0cdef3e19e72482333c88c0e39b", + "dweb:/ipfs/QmaN1oB9u82CaxYcGyKDxZKDhjYiM8J324AE6j5yCjFReK" + ], + "license": "Apache-2.0" + }, + "node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEventsV2.sol": { + "keccak256": "0xc8c2438857680a605d6b441f0b5fa21054dce0ae1db0a7ef8b8ab14a97249e4e", + "urls": [ + "bzz-raw://81739805ac90c9bc91e87e4e42d57c5420cfb179a3f9088fb8416e4ba2eeade3", + "dweb:/ipfs/QmSvrb38Bn8tDCcaC9vZpV4J8BnXy8y9fSNMaUdNaKMA28" + ], + "license": "Apache-2.0" + }, + "node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol": { + "keccak256": "0xc23ba702644b68f402b5cd1ef98da7c194ae4a3d05249a88b75160c503704809", + "urls": [ + "bzz-raw://b2ac288f4e8cd2484cf8abb7bb709e4709e4ffa10697945498ba365312cfe191", + "dweb:/ipfs/Qme9QS4P94gb9B81qLYX3EE2pQrb7MJSAaZygHuydpZo6n" + ], + "license": "Apache 2" + }, + "node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructsV2.sol": { + "keccak256": "0xca3e9a064e5e557f767475d4a543399c315babce9681f98454950e7fe52ed44c", + "urls": [ + "bzz-raw://149efc8c37b0d325da7ee2dae5bfffcbd6f420acdb8445f0744e351b4a392688", + "dweb:/ipfs/QmUW5Z72iFDwxdeWh76kYNyT1agDao2AVmpc4zSC5q8Laz" + ], + "license": "Apache 2" + }, + "node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol": { + "keccak256": "0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379", + "urls": [ + "bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952", + "dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958" + ], + "license": "Apache 2" + }, + "node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyV2.sol": { + "keccak256": "0xbfa09defc676b17bc4cb9d8e17f703c885de676d16396e45963dbe104afaba6a", + "urls": [ + "bzz-raw://cdf892b3def9c3e506e197ffe1ed1c040d6e4e668b9249439eacac965d98c3d5", + "dweb:/ipfs/QmRzQev7pKackFa33pVqwjf3iYt6GdDzCCvwUY5c8Z4tXU" + ], + "license": "Apache 2" + }, + "node_modules/@pythnetwork/pyth-sdk-solidity/IPyth.sol": { + "keccak256": "0xdd07c2c02083b3cbb23f40608c15c5531f59014955216fc7f513926e01c8b70b", + "urls": [ + "bzz-raw://fa1c4eea55dabbca94c55e6d7159b4794ca19440faea11e2d4e1f30283427eed", + "dweb:/ipfs/QmeAz8t4yh5DsDhX5v64s3THHzAUVpK2dWCYiy9vSciyp7" + ], + "license": "Apache-2.0" + }, + "node_modules/@pythnetwork/pyth-sdk-solidity/IPythEvents.sol": { + "keccak256": "0xd67239becd2c39bd9d065830be24e70606f5747ab31b8818bea849d09ac17ddc", + "urls": [ + "bzz-raw://e719bd2d8c1d8d46713aeb700dd6b5ddd766a77830ea9ae3cc9327f67ed775d1", + "dweb:/ipfs/QmNQYyRVFLEvLsCSTkHkAemTvvZm4CzLN7hUdMidMcBS7u" + ], + "license": "Apache-2.0" + }, + "node_modules/@pythnetwork/pyth-sdk-solidity/PythStructs.sol": { + "keccak256": "0x474436bf0d558cc9b2c00a9d0ce318147acdf7963f34ef4acadb9248e65bbc7b", + "urls": [ + "bzz-raw://2b8f9bd9de35e67c7bdbf04d8c2e771718fcc8666456ca5f92dbd914e4a5f2b3", + "dweb:/ipfs/QmNP3ShBYRp4RiVbAudMB7rNHAqgtwn8pPBzb8JTUaViRh" + ], + "license": "Apache-2.0" + } + }, + "version": 1 + }, + "id": 0 +} diff --git a/entropy/chaos-lp-uniswap-v4/mev-sim/abis/MockEntropy.json b/entropy/chaos-lp-uniswap-v4/mev-sim/abis/MockEntropy.json new file mode 100644 index 0000000..66ebb3e --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/mev-sim/abis/MockEntropy.json @@ -0,0 +1,404 @@ +{ + "abi": [ + { + "type": "function", + "name": "consumer", + "inputs": [], + "outputs": [{ "name": "", "type": "address", "internalType": "address" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFeeV2", + "inputs": [], + "outputs": [{ "name": "", "type": "uint128", "internalType": "uint128" }], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "requestV2", + "inputs": [], + "outputs": [{ "name": "", "type": "uint64", "internalType": "uint64" }], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "setConsumer", + "inputs": [ + { "name": "_consumer", "type": "address", "internalType": "address" } + ], + "outputs": [], + "stateMutability": "nonpayable" + } + ], + "bytecode": { + "object": "0x6080806040523460155761015f908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816363a579d5146100e95781637b43155d14610094575080638204b67a146100735763b4fd729614610048575f80fd5b3461006f575f36600319011261006f575f546040516001600160a01b039091168152602090f35b5f80fd5b3461006f575f36600319011261006f57602060405166038d7ea4c680008152f35b5f36600319011261006f5766038d7ea4c6800034106100c157602060405167ffffffffffffffff43168152f35b62461bcd60e51b815260206004820152600360248201526266656560e81b6044820152606490fd5b3461006f57602036600319011261006f576004356001600160a01b0381169081900361006f576bffffffffffffffffffffffff60a01b5f5416175f555f80f3fea26469706673582212206fcff8267cdb5af3cd3b6e2754c8ef961bc21a7db8ab575926659b53c8c02daa64736f6c634300081a0033", + "sourceMap": "116:413:77:-:0;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x6080806040526004361015610012575f80fd5b5f3560e01c90816363a579d5146100e95781637b43155d14610094575080638204b67a146100735763b4fd729614610048575f80fd5b3461006f575f36600319011261006f575f546040516001600160a01b039091168152602090f35b5f80fd5b3461006f575f36600319011261006f57602060405166038d7ea4c680008152f35b5f36600319011261006f5766038d7ea4c6800034106100c157602060405167ffffffffffffffff43168152f35b62461bcd60e51b815260206004820152600360248201526266656560e81b6044820152606490fd5b3461006f57602036600319011261006f576004356001600160a01b0381169081900361006f576bffffffffffffffffffffffff60a01b5f5416175f555f80f3fea26469706673582212206fcff8267cdb5af3cd3b6e2754c8ef961bc21a7db8ab575926659b53c8c02daa64736f6c634300081a0033", + "sourceMap": "116:413:77:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;116:413:77;;;;;;;;-1:-1:-1;;;;;116:413:77;;;;;;;;;;;;;;;;;;-1:-1:-1;;116:413:77;;;;;;;330:4;116:413;;;;;;-1:-1:-1;;116:413:77;;;;330:4;420:9;:23;116:413;;;;;;475:12;116:413;;;;;-1:-1:-1;;;116:413:77;;;;;;;;;;;;-1:-1:-1;;;116:413:77;;;;;;;;;;;;;-1:-1:-1;;116:413:77;;;;;;-1:-1:-1;;;;;116:413:77;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "methodIdentifiers": { + "consumer()": "b4fd7296", + "getFeeV2()": "8204b67a", + "requestV2()": "7b43155d", + "setConsumer(address)": "63a579d5" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"consumer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeV2\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"requestV2\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_consumer\",\"type\":\"address\"}],\"name\":\"setConsumer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/mocks/MockEntropy.sol\":\"MockEntropy\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/=lib/v4-core/node_modules/@ensdomains/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@pythnetwork/entropy-sdk-solidity/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@pythnetwork/pyth-sdk-solidity/=node_modules/@pythnetwork/pyth-sdk-solidity/\",\":@uniswap/v4-core/=lib/v4-core/\",\":@uniswap/v4-periphery/=lib/v4-periphery/\",\":ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/v4-periphery/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hardhat/=lib/v4-core/node_modules/hardhat/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":permit2/=lib/v4-periphery/lib/permit2/\",\":pyth-sdk-solidity/=lib/pyth-sdk-solidity/\",\":solmate/=lib/v4-core/lib/solmate/\",\":v4-core/=lib/v4-core/\",\":v4-periphery/=lib/v4-periphery/\"],\"viaIR\":true},\"sources\":{\"contracts/ChaosHook.sol\":{\"keccak256\":\"0xed20c5ab97ef0d943e2e05a93e832c508137abac5ffc36cd76a8584aaa53f178\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fcec31ea7ec66110f1da35feff3be80bfea2bfe5bc1969ccb24008d3f11cd3d5\",\"dweb:/ipfs/QmRjTok17MZqkMcfcsaFiXfGD1RMcFmSJAXSEYXAPLBrhk\"]},\"lib/v4-core/src/interfaces/IExtsload.sol\":{\"keccak256\":\"0x80b53ca4907d6f0088c3b931f2b72cad1dc4615a95094d96bd0fb8dff8d5ba43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://375c69148622aab7a3537d5fd37d373a8e9731022c8d87bdaee46233b0a99fe1\",\"dweb:/ipfs/QmXFjdoYRxsA5B1kyuxEXgNf3FBoL1zPvy26Qy8EtpdFRN\"]},\"lib/v4-core/src/interfaces/IExttload.sol\":{\"keccak256\":\"0xc6b68283ebd8d1c789df536756726eed51c589134bb20821b236a0d22a135937\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://294394f72dfc219689209f4130d85601dfd0d63c8d47578050d312db70f9b6c8\",\"dweb:/ipfs/QmTDMQ3oxCGHgEBU48a3Lp4S1rRjc8vVCxkhE5ZNej1bsY\"]},\"lib/v4-core/src/interfaces/IHooks.sol\":{\"keccak256\":\"0xc131ffa2d04c10a012fe715fe2c115811526b7ea34285cf0a04ce7ce8320da8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b212358897db5d99c21244d88f97b2e788527552cb430629b472a8cc6289aec\",\"dweb:/ipfs/QmQtwV4dDe2RYk2ErLpaAX7U82jWh1L6Lw2HRuKDvBi84G\"]},\"lib/v4-core/src/interfaces/IPoolManager.sol\":{\"keccak256\":\"0xbdab3544da3d32dfdf7457baa94e17d5a3012952428559e013ffac45d067038e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce95ff864468e37c76adf71df061d4f3d6f3a5ec1f9bc3aea090463bc72798f4\",\"dweb:/ipfs/QmSbWh1pLbz51yQF4HEu5NRhr8XVv9JYGEw1hq1HudAnCi\"]},\"lib/v4-core/src/interfaces/IProtocolFees.sol\":{\"keccak256\":\"0x32a666e588a2f66334430357bb1e2424fe7eebeb98a3364b1dd16eb6ccca9848\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85751d302125881f72e5f8af051c2d5d9b1f606ebaea8ca7d04fccdd27cc252d\",\"dweb:/ipfs/QmeRwomeh9NWm6A6fgNA4KZPQZHPpdKsPQyYsHSFmvud7J\"]},\"lib/v4-core/src/interfaces/external/IERC20Minimal.sol\":{\"keccak256\":\"0xeccadf1bf69ba2eb51f2fe4fa511bc7bb05bbd6b9f9a3cb8e5d83d9582613e0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://118757369892687b99ef46ce28d6861f62c098285bd7687a4f17f7e44e5f81de\",\"dweb:/ipfs/QmUxqbYqQtcEwwFbb9e6BBMePEaSgN8C45v6RKubD4ib8d\"]},\"lib/v4-core/src/interfaces/external/IERC6909Claims.sol\":{\"keccak256\":\"0xa586f345739e52b0488a0fe40b6e375cce67fdd25758408b0efcb5133ad96a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8c557b7e52abdbbd82e415a1acc27921446a7fd090b7d4877e52be72619547f\",\"dweb:/ipfs/QmXE2KNPbXmGX8BQF3ei6zhzRTnhoTQg39XmqMnkhbr6QK\"]},\"lib/v4-core/src/libraries/BitMath.sol\":{\"keccak256\":\"0x51b9be4f5c4fd3e80cbc9631a65244a2eb2be250b6b7f128a2035080e18aee8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe98bbd5498e912146b9319827fc63621eb66ff55d5baae0fa02a7a972ab8d1e\",\"dweb:/ipfs/QmY5hCuyrtgsJtk4AavrxcvBkRrChfr4N6ZnhdC8roPpNi\"]},\"lib/v4-core/src/libraries/CustomRevert.sol\":{\"keccak256\":\"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd\",\"dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt\"]},\"lib/v4-core/src/libraries/Hooks.sol\":{\"keccak256\":\"0xd679b4b2d429689bc44f136050ebc958fb2d7d0d3a3c7b3e48c08ab4fba09aaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://287190cb72840e5eb63cc7a8a1d0b9150af17d8e4ea0323f47c7e7928f2033cb\",\"dweb:/ipfs/QmVfqWBnAQM2jUcuREDdvjcP21gNuLU35CoL3NG5CEhNcx\"]},\"lib/v4-core/src/libraries/LPFeeLibrary.sol\":{\"keccak256\":\"0xbf6914e01014e7c1044111feb7df7a3d96bb503b3da827ad8464b1955580d13b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33823c20a91882c9aacdcbb02f0558c05209f4d5954aa6dd4fa17c95664db475\",\"dweb:/ipfs/QmR7owkFgpfztpp1QUg3ut3nw9iPVQqLGP4hzgmZtRUQ2J\"]},\"lib/v4-core/src/libraries/ParseBytes.sol\":{\"keccak256\":\"0x7533b13f53ee2c2c55500100b22ffd6e37e7523c27874edc98663d53a8672b15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82449058634fde28a085f3c59a6a5f412550c02181590593fd84c3e8b329aa17\",\"dweb:/ipfs/Qmev4E9Au6SsE4wsArChCwfg94KhHc5gYsEsZUnjF5sRLa\"]},\"lib/v4-core/src/libraries/SafeCast.sol\":{\"keccak256\":\"0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59\",\"dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj\"]},\"lib/v4-core/src/libraries/TickMath.sol\":{\"keccak256\":\"0x4e1a11e154eb06106cb1c4598f06cca5f5ca16eaa33494ba2f0e74981123eca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a79a57f7b240783b045168d1c4f774ac1812caf8f9a83cb6959a86b0b07b6c70\",\"dweb:/ipfs/QmTb5kvxwDNW8jDuQaqdJ445cCFejNkUqEB17Bjo8UBiva\"]},\"lib/v4-core/src/types/BalanceDelta.sol\":{\"keccak256\":\"0xa719c8fe51e0a9524280178f19f6851bcc3b3b60e73618f3d60905d35ae5569f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7436928dc9de35c6c7c5c636cb51adaf295cfd590da83b19a004ae33cbec9ef9\",\"dweb:/ipfs/QmRJ9yZkUpzk4433GX3LgVVL8jwpbSYSUwXcucKisf3v4H\"]},\"lib/v4-core/src/types/BeforeSwapDelta.sol\":{\"keccak256\":\"0x2a774312d91285313d569da1a718c909655da5432310417692097a1d4dc83a78\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2c7a0379955cff9c17ab9e61f95e42909aa5947c22740f86ce940d09856f782\",\"dweb:/ipfs/QmaAuo8UBYXsGrVuKh8iRoAAdqwtg1jDq515cW1ZRP5m9K\"]},\"lib/v4-core/src/types/Currency.sol\":{\"keccak256\":\"0x4a0b84b282577ff6f8acf13ec9f4d32dbb9348748b49611d00e68bee96609c93\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45f9d62ab3d51b52957279e353853ba1547c3182c9a1e3d1846ada4a90263b01\",\"dweb:/ipfs/QmS8NG84ccQS1yXVD8cv3eKX7J1UKxuJhbUfHTQR2opKF5\"]},\"lib/v4-core/src/types/PoolId.sol\":{\"keccak256\":\"0x308311916ea0f5c2fd878b6a2751eb223d170a69e33f601fae56dfe3c5d392af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://669c2cd7ac17690b5d8831e0bda72822376c3a04b36afed6d31df4d75fe60918\",\"dweb:/ipfs/QmT6EpkxqU8VF3WsgrZ66F3s1cCQRffR95z1HDYZz7ph6y\"]},\"lib/v4-core/src/types/PoolKey.sol\":{\"keccak256\":\"0xf89856e0580d7a4856d3187a76858377ccee9d59702d230c338d84388221b786\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3118fa189025695c37fdf0bdd1190f085ad097484d3c88cf4c56d1db65f639\",\"dweb:/ipfs/QmamXpgtB8GV1CaFLvqefPWSoikLDhMk1yU4heBnVzU8gi\"]},\"lib/v4-core/src/types/PoolOperation.sol\":{\"keccak256\":\"0x7a1a107fc1f2208abb2c9364c8c54e56e98dca27673e9441bed2b949b6382162\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ad2470383bc5595d5af17840c64971f457adac68895a4db41ba5c71a4478e07\",\"dweb:/ipfs/QmdwKhBHDZFuqXrR2BfDBD9r7rB2ULGQBznsajRTkTmL4c\"]},\"lib/v4-periphery/src/base/ImmutableState.sol\":{\"keccak256\":\"0x1867c9fa2f9b4fa73bab0fcdc9d19ccef4eeac552273d8b84a170cd1cc90350a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af2d699b439e13b599632fddfe82718aebd41055fba7c075f186675c588d1337\",\"dweb:/ipfs/Qmc111gckSKb9aESn3wRFLeLiS4KGujaUcaYJgRnCRfwQU\"]},\"lib/v4-periphery/src/interfaces/IImmutableState.sol\":{\"keccak256\":\"0x36ab3100e87457ecf04887f4f540e34fd7f21d8e3b83880cb679239e60b7b06b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f290c7ce8e4832608d637a51b13dff95abecf6549485448e647a11c8ed01341\",\"dweb:/ipfs/QmfD1R6mTp8j4EjQXmQZW3vCh11EYFjnvoaw8rXRP27mMq\"]},\"lib/v4-periphery/src/utils/BaseHook.sol\":{\"keccak256\":\"0x6268607345149d912996d1c2bac693b2102304cc97c19ec4fef184d6fa390e89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6c0dddffa6c5eb3c10bc45d56d58bc3f4773778322fa10a4acf46e2292b61b3\",\"dweb:/ipfs/Qmc1Srhh6ne5Lsi2Y5BBz8pgPLmJdg8uN1UCeJzKnr6Kra\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol\":{\"keccak256\":\"0x385eb7fb335b3c7037e5d2ecf119f42baa4f69fbc535daf1effbc26e774a6a4a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b62bfbf9e5969390d22c4ad0a6c5d64a1091d0cdef3e19e72482333c88c0e39b\",\"dweb:/ipfs/QmaN1oB9u82CaxYcGyKDxZKDhjYiM8J324AE6j5yCjFReK\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEventsV2.sol\":{\"keccak256\":\"0xc8c2438857680a605d6b441f0b5fa21054dce0ae1db0a7ef8b8ab14a97249e4e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://81739805ac90c9bc91e87e4e42d57c5420cfb179a3f9088fb8416e4ba2eeade3\",\"dweb:/ipfs/QmSvrb38Bn8tDCcaC9vZpV4J8BnXy8y9fSNMaUdNaKMA28\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol\":{\"keccak256\":\"0xc23ba702644b68f402b5cd1ef98da7c194ae4a3d05249a88b75160c503704809\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://b2ac288f4e8cd2484cf8abb7bb709e4709e4ffa10697945498ba365312cfe191\",\"dweb:/ipfs/Qme9QS4P94gb9B81qLYX3EE2pQrb7MJSAaZygHuydpZo6n\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructsV2.sol\":{\"keccak256\":\"0xca3e9a064e5e557f767475d4a543399c315babce9681f98454950e7fe52ed44c\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://149efc8c37b0d325da7ee2dae5bfffcbd6f420acdb8445f0744e351b4a392688\",\"dweb:/ipfs/QmUW5Z72iFDwxdeWh76kYNyT1agDao2AVmpc4zSC5q8Laz\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol\":{\"keccak256\":\"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952\",\"dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyV2.sol\":{\"keccak256\":\"0xbfa09defc676b17bc4cb9d8e17f703c885de676d16396e45963dbe104afaba6a\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://cdf892b3def9c3e506e197ffe1ed1c040d6e4e668b9249439eacac965d98c3d5\",\"dweb:/ipfs/QmRzQev7pKackFa33pVqwjf3iYt6GdDzCCvwUY5c8Z4tXU\"]},\"node_modules/@pythnetwork/pyth-sdk-solidity/IPyth.sol\":{\"keccak256\":\"0xdd07c2c02083b3cbb23f40608c15c5531f59014955216fc7f513926e01c8b70b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://fa1c4eea55dabbca94c55e6d7159b4794ca19440faea11e2d4e1f30283427eed\",\"dweb:/ipfs/QmeAz8t4yh5DsDhX5v64s3THHzAUVpK2dWCYiy9vSciyp7\"]},\"node_modules/@pythnetwork/pyth-sdk-solidity/IPythEvents.sol\":{\"keccak256\":\"0xd67239becd2c39bd9d065830be24e70606f5747ab31b8818bea849d09ac17ddc\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e719bd2d8c1d8d46713aeb700dd6b5ddd766a77830ea9ae3cc9327f67ed775d1\",\"dweb:/ipfs/QmNQYyRVFLEvLsCSTkHkAemTvvZm4CzLN7hUdMidMcBS7u\"]},\"node_modules/@pythnetwork/pyth-sdk-solidity/PythStructs.sol\":{\"keccak256\":\"0x474436bf0d558cc9b2c00a9d0ce318147acdf7963f34ef4acadb9248e65bbc7b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://2b8f9bd9de35e67c7bdbf04d8c2e771718fcc8666456ca5f92dbd914e4a5f2b3\",\"dweb:/ipfs/QmNP3ShBYRp4RiVbAudMB7rNHAqgtwn8pPBzb8JTUaViRh\"]},\"test/mocks/MockEntropy.sol\":{\"keccak256\":\"0xa751a3d0a472aeb02a75098da0b3b45a8633db728347f2f7178bd509f0975be0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c7dff01661280ea3d681ec0649da55dfc87c7b6d7e709e59792f16deedb5282\",\"dweb:/ipfs/Qma5WDAreoaaEuwS7CCun2Fyi4naQsZ6EPVY2Ngt6mXsrt\"]}},\"version\":1}", + "metadata": { + "compiler": { "version": "0.8.26+commit.8a97fa7a" }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "consumer", + "outputs": [ + { "internalType": "address", "name": "", "type": "address" } + ] + }, + { + "inputs": [], + "stateMutability": "pure", + "type": "function", + "name": "getFeeV2", + "outputs": [ + { "internalType": "uint128", "name": "", "type": "uint128" } + ] + }, + { + "inputs": [], + "stateMutability": "payable", + "type": "function", + "name": "requestV2", + "outputs": [ + { "internalType": "uint64", "name": "", "type": "uint64" } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_consumer", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setConsumer" + } + ], + "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, + "userdoc": { "kind": "user", "methods": {}, "version": 1 } + }, + "settings": { + "remappings": [ + "@ensdomains/=lib/v4-core/node_modules/@ensdomains/", + "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", + "@pythnetwork/entropy-sdk-solidity/=node_modules/@pythnetwork/entropy-sdk-solidity/", + "@pythnetwork/pyth-sdk-solidity/=node_modules/@pythnetwork/pyth-sdk-solidity/", + "@uniswap/v4-core/=lib/v4-core/", + "@uniswap/v4-periphery/=lib/v4-periphery/", + "ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/", + "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", + "forge-gas-snapshot/=lib/v4-periphery/lib/permit2/lib/forge-gas-snapshot/src/", + "forge-std/=lib/forge-std/src/", + "halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/", + "hardhat/=lib/v4-core/node_modules/hardhat/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/", + "permit2/=lib/v4-periphery/lib/permit2/", + "pyth-sdk-solidity/=lib/pyth-sdk-solidity/", + "solmate/=lib/v4-core/lib/solmate/", + "v4-core/=lib/v4-core/", + "v4-periphery/=lib/v4-periphery/" + ], + "optimizer": { "enabled": true, "runs": 200 }, + "metadata": { "bytecodeHash": "ipfs" }, + "compilationTarget": { "test/mocks/MockEntropy.sol": "MockEntropy" }, + "evmVersion": "cancun", + "libraries": {}, + "viaIR": true + }, + "sources": { + "contracts/ChaosHook.sol": { + "keccak256": "0xed20c5ab97ef0d943e2e05a93e832c508137abac5ffc36cd76a8584aaa53f178", + "urls": [ + "bzz-raw://fcec31ea7ec66110f1da35feff3be80bfea2bfe5bc1969ccb24008d3f11cd3d5", + "dweb:/ipfs/QmRjTok17MZqkMcfcsaFiXfGD1RMcFmSJAXSEYXAPLBrhk" + ], + "license": "MIT" + }, + "lib/v4-core/src/interfaces/IExtsload.sol": { + "keccak256": "0x80b53ca4907d6f0088c3b931f2b72cad1dc4615a95094d96bd0fb8dff8d5ba43", + "urls": [ + "bzz-raw://375c69148622aab7a3537d5fd37d373a8e9731022c8d87bdaee46233b0a99fe1", + "dweb:/ipfs/QmXFjdoYRxsA5B1kyuxEXgNf3FBoL1zPvy26Qy8EtpdFRN" + ], + "license": "MIT" + }, + "lib/v4-core/src/interfaces/IExttload.sol": { + "keccak256": "0xc6b68283ebd8d1c789df536756726eed51c589134bb20821b236a0d22a135937", + "urls": [ + "bzz-raw://294394f72dfc219689209f4130d85601dfd0d63c8d47578050d312db70f9b6c8", + "dweb:/ipfs/QmTDMQ3oxCGHgEBU48a3Lp4S1rRjc8vVCxkhE5ZNej1bsY" + ], + "license": "MIT" + }, + "lib/v4-core/src/interfaces/IHooks.sol": { + "keccak256": "0xc131ffa2d04c10a012fe715fe2c115811526b7ea34285cf0a04ce7ce8320da8d", + "urls": [ + "bzz-raw://3b212358897db5d99c21244d88f97b2e788527552cb430629b472a8cc6289aec", + "dweb:/ipfs/QmQtwV4dDe2RYk2ErLpaAX7U82jWh1L6Lw2HRuKDvBi84G" + ], + "license": "MIT" + }, + "lib/v4-core/src/interfaces/IPoolManager.sol": { + "keccak256": "0xbdab3544da3d32dfdf7457baa94e17d5a3012952428559e013ffac45d067038e", + "urls": [ + "bzz-raw://ce95ff864468e37c76adf71df061d4f3d6f3a5ec1f9bc3aea090463bc72798f4", + "dweb:/ipfs/QmSbWh1pLbz51yQF4HEu5NRhr8XVv9JYGEw1hq1HudAnCi" + ], + "license": "MIT" + }, + "lib/v4-core/src/interfaces/IProtocolFees.sol": { + "keccak256": "0x32a666e588a2f66334430357bb1e2424fe7eebeb98a3364b1dd16eb6ccca9848", + "urls": [ + "bzz-raw://85751d302125881f72e5f8af051c2d5d9b1f606ebaea8ca7d04fccdd27cc252d", + "dweb:/ipfs/QmeRwomeh9NWm6A6fgNA4KZPQZHPpdKsPQyYsHSFmvud7J" + ], + "license": "MIT" + }, + "lib/v4-core/src/interfaces/external/IERC20Minimal.sol": { + "keccak256": "0xeccadf1bf69ba2eb51f2fe4fa511bc7bb05bbd6b9f9a3cb8e5d83d9582613e0f", + "urls": [ + "bzz-raw://118757369892687b99ef46ce28d6861f62c098285bd7687a4f17f7e44e5f81de", + "dweb:/ipfs/QmUxqbYqQtcEwwFbb9e6BBMePEaSgN8C45v6RKubD4ib8d" + ], + "license": "MIT" + }, + "lib/v4-core/src/interfaces/external/IERC6909Claims.sol": { + "keccak256": "0xa586f345739e52b0488a0fe40b6e375cce67fdd25758408b0efcb5133ad96a48", + "urls": [ + "bzz-raw://e8c557b7e52abdbbd82e415a1acc27921446a7fd090b7d4877e52be72619547f", + "dweb:/ipfs/QmXE2KNPbXmGX8BQF3ei6zhzRTnhoTQg39XmqMnkhbr6QK" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/BitMath.sol": { + "keccak256": "0x51b9be4f5c4fd3e80cbc9631a65244a2eb2be250b6b7f128a2035080e18aee8d", + "urls": [ + "bzz-raw://fe98bbd5498e912146b9319827fc63621eb66ff55d5baae0fa02a7a972ab8d1e", + "dweb:/ipfs/QmY5hCuyrtgsJtk4AavrxcvBkRrChfr4N6ZnhdC8roPpNi" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/CustomRevert.sol": { + "keccak256": "0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de", + "urls": [ + "bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd", + "dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/Hooks.sol": { + "keccak256": "0xd679b4b2d429689bc44f136050ebc958fb2d7d0d3a3c7b3e48c08ab4fba09aaa", + "urls": [ + "bzz-raw://287190cb72840e5eb63cc7a8a1d0b9150af17d8e4ea0323f47c7e7928f2033cb", + "dweb:/ipfs/QmVfqWBnAQM2jUcuREDdvjcP21gNuLU35CoL3NG5CEhNcx" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/LPFeeLibrary.sol": { + "keccak256": "0xbf6914e01014e7c1044111feb7df7a3d96bb503b3da827ad8464b1955580d13b", + "urls": [ + "bzz-raw://33823c20a91882c9aacdcbb02f0558c05209f4d5954aa6dd4fa17c95664db475", + "dweb:/ipfs/QmR7owkFgpfztpp1QUg3ut3nw9iPVQqLGP4hzgmZtRUQ2J" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/ParseBytes.sol": { + "keccak256": "0x7533b13f53ee2c2c55500100b22ffd6e37e7523c27874edc98663d53a8672b15", + "urls": [ + "bzz-raw://82449058634fde28a085f3c59a6a5f412550c02181590593fd84c3e8b329aa17", + "dweb:/ipfs/Qmev4E9Au6SsE4wsArChCwfg94KhHc5gYsEsZUnjF5sRLa" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/SafeCast.sol": { + "keccak256": "0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86", + "urls": [ + "bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59", + "dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/TickMath.sol": { + "keccak256": "0x4e1a11e154eb06106cb1c4598f06cca5f5ca16eaa33494ba2f0e74981123eca8", + "urls": [ + "bzz-raw://a79a57f7b240783b045168d1c4f774ac1812caf8f9a83cb6959a86b0b07b6c70", + "dweb:/ipfs/QmTb5kvxwDNW8jDuQaqdJ445cCFejNkUqEB17Bjo8UBiva" + ], + "license": "MIT" + }, + "lib/v4-core/src/types/BalanceDelta.sol": { + "keccak256": "0xa719c8fe51e0a9524280178f19f6851bcc3b3b60e73618f3d60905d35ae5569f", + "urls": [ + "bzz-raw://7436928dc9de35c6c7c5c636cb51adaf295cfd590da83b19a004ae33cbec9ef9", + "dweb:/ipfs/QmRJ9yZkUpzk4433GX3LgVVL8jwpbSYSUwXcucKisf3v4H" + ], + "license": "MIT" + }, + "lib/v4-core/src/types/BeforeSwapDelta.sol": { + "keccak256": "0x2a774312d91285313d569da1a718c909655da5432310417692097a1d4dc83a78", + "urls": [ + "bzz-raw://a2c7a0379955cff9c17ab9e61f95e42909aa5947c22740f86ce940d09856f782", + "dweb:/ipfs/QmaAuo8UBYXsGrVuKh8iRoAAdqwtg1jDq515cW1ZRP5m9K" + ], + "license": "MIT" + }, + "lib/v4-core/src/types/Currency.sol": { + "keccak256": "0x4a0b84b282577ff6f8acf13ec9f4d32dbb9348748b49611d00e68bee96609c93", + "urls": [ + "bzz-raw://45f9d62ab3d51b52957279e353853ba1547c3182c9a1e3d1846ada4a90263b01", + "dweb:/ipfs/QmS8NG84ccQS1yXVD8cv3eKX7J1UKxuJhbUfHTQR2opKF5" + ], + "license": "MIT" + }, + "lib/v4-core/src/types/PoolId.sol": { + "keccak256": "0x308311916ea0f5c2fd878b6a2751eb223d170a69e33f601fae56dfe3c5d392af", + "urls": [ + "bzz-raw://669c2cd7ac17690b5d8831e0bda72822376c3a04b36afed6d31df4d75fe60918", + "dweb:/ipfs/QmT6EpkxqU8VF3WsgrZ66F3s1cCQRffR95z1HDYZz7ph6y" + ], + "license": "MIT" + }, + "lib/v4-core/src/types/PoolKey.sol": { + "keccak256": "0xf89856e0580d7a4856d3187a76858377ccee9d59702d230c338d84388221b786", + "urls": [ + "bzz-raw://6f3118fa189025695c37fdf0bdd1190f085ad097484d3c88cf4c56d1db65f639", + "dweb:/ipfs/QmamXpgtB8GV1CaFLvqefPWSoikLDhMk1yU4heBnVzU8gi" + ], + "license": "MIT" + }, + "lib/v4-core/src/types/PoolOperation.sol": { + "keccak256": "0x7a1a107fc1f2208abb2c9364c8c54e56e98dca27673e9441bed2b949b6382162", + "urls": [ + "bzz-raw://4ad2470383bc5595d5af17840c64971f457adac68895a4db41ba5c71a4478e07", + "dweb:/ipfs/QmdwKhBHDZFuqXrR2BfDBD9r7rB2ULGQBznsajRTkTmL4c" + ], + "license": "MIT" + }, + "lib/v4-periphery/src/base/ImmutableState.sol": { + "keccak256": "0x1867c9fa2f9b4fa73bab0fcdc9d19ccef4eeac552273d8b84a170cd1cc90350a", + "urls": [ + "bzz-raw://af2d699b439e13b599632fddfe82718aebd41055fba7c075f186675c588d1337", + "dweb:/ipfs/Qmc111gckSKb9aESn3wRFLeLiS4KGujaUcaYJgRnCRfwQU" + ], + "license": "MIT" + }, + "lib/v4-periphery/src/interfaces/IImmutableState.sol": { + "keccak256": "0x36ab3100e87457ecf04887f4f540e34fd7f21d8e3b83880cb679239e60b7b06b", + "urls": [ + "bzz-raw://7f290c7ce8e4832608d637a51b13dff95abecf6549485448e647a11c8ed01341", + "dweb:/ipfs/QmfD1R6mTp8j4EjQXmQZW3vCh11EYFjnvoaw8rXRP27mMq" + ], + "license": "MIT" + }, + "lib/v4-periphery/src/utils/BaseHook.sol": { + "keccak256": "0x6268607345149d912996d1c2bac693b2102304cc97c19ec4fef184d6fa390e89", + "urls": [ + "bzz-raw://d6c0dddffa6c5eb3c10bc45d56d58bc3f4773778322fa10a4acf46e2292b61b3", + "dweb:/ipfs/Qmc1Srhh6ne5Lsi2Y5BBz8pgPLmJdg8uN1UCeJzKnr6Kra" + ], + "license": "MIT" + }, + "node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol": { + "keccak256": "0x385eb7fb335b3c7037e5d2ecf119f42baa4f69fbc535daf1effbc26e774a6a4a", + "urls": [ + "bzz-raw://b62bfbf9e5969390d22c4ad0a6c5d64a1091d0cdef3e19e72482333c88c0e39b", + "dweb:/ipfs/QmaN1oB9u82CaxYcGyKDxZKDhjYiM8J324AE6j5yCjFReK" + ], + "license": "Apache-2.0" + }, + "node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEventsV2.sol": { + "keccak256": "0xc8c2438857680a605d6b441f0b5fa21054dce0ae1db0a7ef8b8ab14a97249e4e", + "urls": [ + "bzz-raw://81739805ac90c9bc91e87e4e42d57c5420cfb179a3f9088fb8416e4ba2eeade3", + "dweb:/ipfs/QmSvrb38Bn8tDCcaC9vZpV4J8BnXy8y9fSNMaUdNaKMA28" + ], + "license": "Apache-2.0" + }, + "node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol": { + "keccak256": "0xc23ba702644b68f402b5cd1ef98da7c194ae4a3d05249a88b75160c503704809", + "urls": [ + "bzz-raw://b2ac288f4e8cd2484cf8abb7bb709e4709e4ffa10697945498ba365312cfe191", + "dweb:/ipfs/Qme9QS4P94gb9B81qLYX3EE2pQrb7MJSAaZygHuydpZo6n" + ], + "license": "Apache 2" + }, + "node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructsV2.sol": { + "keccak256": "0xca3e9a064e5e557f767475d4a543399c315babce9681f98454950e7fe52ed44c", + "urls": [ + "bzz-raw://149efc8c37b0d325da7ee2dae5bfffcbd6f420acdb8445f0744e351b4a392688", + "dweb:/ipfs/QmUW5Z72iFDwxdeWh76kYNyT1agDao2AVmpc4zSC5q8Laz" + ], + "license": "Apache 2" + }, + "node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol": { + "keccak256": "0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379", + "urls": [ + "bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952", + "dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958" + ], + "license": "Apache 2" + }, + "node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyV2.sol": { + "keccak256": "0xbfa09defc676b17bc4cb9d8e17f703c885de676d16396e45963dbe104afaba6a", + "urls": [ + "bzz-raw://cdf892b3def9c3e506e197ffe1ed1c040d6e4e668b9249439eacac965d98c3d5", + "dweb:/ipfs/QmRzQev7pKackFa33pVqwjf3iYt6GdDzCCvwUY5c8Z4tXU" + ], + "license": "Apache 2" + }, + "node_modules/@pythnetwork/pyth-sdk-solidity/IPyth.sol": { + "keccak256": "0xdd07c2c02083b3cbb23f40608c15c5531f59014955216fc7f513926e01c8b70b", + "urls": [ + "bzz-raw://fa1c4eea55dabbca94c55e6d7159b4794ca19440faea11e2d4e1f30283427eed", + "dweb:/ipfs/QmeAz8t4yh5DsDhX5v64s3THHzAUVpK2dWCYiy9vSciyp7" + ], + "license": "Apache-2.0" + }, + "node_modules/@pythnetwork/pyth-sdk-solidity/IPythEvents.sol": { + "keccak256": "0xd67239becd2c39bd9d065830be24e70606f5747ab31b8818bea849d09ac17ddc", + "urls": [ + "bzz-raw://e719bd2d8c1d8d46713aeb700dd6b5ddd766a77830ea9ae3cc9327f67ed775d1", + "dweb:/ipfs/QmNQYyRVFLEvLsCSTkHkAemTvvZm4CzLN7hUdMidMcBS7u" + ], + "license": "Apache-2.0" + }, + "node_modules/@pythnetwork/pyth-sdk-solidity/PythStructs.sol": { + "keccak256": "0x474436bf0d558cc9b2c00a9d0ce318147acdf7963f34ef4acadb9248e65bbc7b", + "urls": [ + "bzz-raw://2b8f9bd9de35e67c7bdbf04d8c2e771718fcc8666456ca5f92dbd914e4a5f2b3", + "dweb:/ipfs/QmNP3ShBYRp4RiVbAudMB7rNHAqgtwn8pPBzb8JTUaViRh" + ], + "license": "Apache-2.0" + }, + "test/mocks/MockEntropy.sol": { + "keccak256": "0xa751a3d0a472aeb02a75098da0b3b45a8633db728347f2f7178bd509f0975be0", + "urls": [ + "bzz-raw://0c7dff01661280ea3d681ec0649da55dfc87c7b6d7e709e59792f16deedb5282", + "dweb:/ipfs/Qma5WDAreoaaEuwS7CCun2Fyi4naQsZ6EPVY2Ngt6mXsrt" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "id": 77 +} diff --git a/entropy/chaos-lp-uniswap-v4/mev-sim/abis/MockPyth.json b/entropy/chaos-lp-uniswap-v4/mev-sim/abis/MockPyth.json new file mode 100644 index 0000000..3c54c6f --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/mev-sim/abis/MockPyth.json @@ -0,0 +1,225 @@ +{ + "abi": [ + { + "type": "function", + "name": "getPrice", + "inputs": [ + { "name": "id", "type": "bytes32", "internalType": "bytes32" } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct PythStructs.Price", + "components": [ + { "name": "price", "type": "int64", "internalType": "int64" }, + { "name": "conf", "type": "uint64", "internalType": "uint64" }, + { "name": "expo", "type": "int32", "internalType": "int32" }, + { + "name": "publishTime", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPriceUnsafe", + "inputs": [ + { "name": "id", "type": "bytes32", "internalType": "bytes32" } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct PythStructs.Price", + "components": [ + { "name": "price", "type": "int64", "internalType": "int64" }, + { "name": "conf", "type": "uint64", "internalType": "uint64" }, + { "name": "expo", "type": "int32", "internalType": "int32" }, + { + "name": "publishTime", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setPrice", + "inputs": [ + { "name": "id", "type": "bytes32", "internalType": "bytes32" }, + { "name": "price", "type": "int64", "internalType": "int64" }, + { "name": "expo", "type": "int32", "internalType": "int32" } + ], + "outputs": [], + "stateMutability": "nonpayable" + } + ], + "bytecode": { + "object": "0x6080806040523460155761025d908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c806330c41c9d1461003f57806331d98b3f1461003a576396834ad31461003a575f80fd5b6100ff565b346100fb5760603660031901126100fb576024358060070b8091036100fb576044358060030b8091036100fb576001906100776101f3565b928352602083015f815260408401918252606084019167ffffffffffffffff421683526004355f525f60205260405f2094519167ffffffffffffffff6fffffffffffffffff00000000000000008754925160401b16925160801b63ffffffff60801b169316906bffffffffffffffffffffffff60a01b161717178355519101555f80f35b5f80fd5b346100fb5760203660031901126100fb575f606061011b6101f3565b82815282602082015282604082015201526004355f525f60205260405f206101416101f3565b9080548060070b83526001602084019267ffffffffffffffff8360401c168452604085019260801c60030b83520154916060840192808452156101ae5760408051945160070b8552905167ffffffffffffffff166020850152905160030b90830152516060820152608090f35b60405162461bcd60e51b815260206004820152601760248201527f4d6f636b507974683a207072696365206e6f74207365740000000000000000006044820152606490fd5b604051906080820182811067ffffffffffffffff82111761021357604052565b634e487b7160e01b5f52604160045260245ffdfea2646970667358221220c18d2a3764d98e4a6f1b2ee492d5ce1b5d23d23600d8db53f31a44029397ae3464736f6c634300081a0033", + "sourceMap": "201:1214:78:-:0;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x60806040526004361015610011575f80fd5b5f3560e01c806330c41c9d1461003f57806331d98b3f1461003a576396834ad31461003a575f80fd5b6100ff565b346100fb5760603660031901126100fb576024358060070b8091036100fb576044358060030b8091036100fb576001906100776101f3565b928352602083015f815260408401918252606084019167ffffffffffffffff421683526004355f525f60205260405f2094519167ffffffffffffffff6fffffffffffffffff00000000000000008754925160401b16925160801b63ffffffff60801b169316906bffffffffffffffffffffffff60a01b161717178355519101555f80f35b5f80fd5b346100fb5760203660031901126100fb575f606061011b6101f3565b82815282602082015282604082015201526004355f525f60205260405f206101416101f3565b9080548060070b83526001602084019267ffffffffffffffff8360401c168452604085019260801c60030b83520154916060840192808452156101ae5760408051945160070b8552905167ffffffffffffffff166020850152905160030b90830152516060820152608090f35b60405162461bcd60e51b815260206004820152601760248201527f4d6f636b507974683a207072696365206e6f74207365740000000000000000006044820152606490fd5b604051906080820182811067ffffffffffffffff82111761021357604052565b634e487b7160e01b5f52604160045260245ffdfea2646970667358221220c18d2a3764d98e4a6f1b2ee492d5ce1b5d23d23600d8db53f31a44029397ae3464736f6c634300081a0033", + "sourceMap": "201:1214:78:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;201:1214:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;605:180;;201:1214;;;;605:180;;201:1214;;;;605:180;;758:15;201:1214;758:15;201:1214;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;201:1214:78;;;;-1:-1:-1;201:1214:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;201:1214:78;-1:-1:-1;201:1214:78;;;-1:-1:-1;201:1214:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1026:18;201:1214;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;201:1214:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;201:1214:78;;;;;-1:-1:-1;201:1214:78", + "linkReferences": {} + }, + "methodIdentifiers": { + "getPrice(bytes32)": "31d98b3f", + "getPriceUnsafe(bytes32)": "96834ad3", + "setPrice(bytes32,int64,int32)": "30c41c9d" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"getPrice\",\"outputs\":[{\"components\":[{\"internalType\":\"int64\",\"name\":\"price\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"conf\",\"type\":\"uint64\"},{\"internalType\":\"int32\",\"name\":\"expo\",\"type\":\"int32\"},{\"internalType\":\"uint256\",\"name\":\"publishTime\",\"type\":\"uint256\"}],\"internalType\":\"struct PythStructs.Price\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"getPriceUnsafe\",\"outputs\":[{\"components\":[{\"internalType\":\"int64\",\"name\":\"price\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"conf\",\"type\":\"uint64\"},{\"internalType\":\"int32\",\"name\":\"expo\",\"type\":\"int32\"},{\"internalType\":\"uint256\",\"name\":\"publishTime\",\"type\":\"uint256\"}],\"internalType\":\"struct PythStructs.Price\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"int64\",\"name\":\"price\",\"type\":\"int64\"},{\"internalType\":\"int32\",\"name\":\"expo\",\"type\":\"int32\"}],\"name\":\"setPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Minimal mock for IPyth.getPrice used by ChaosHook tests.\",\"kind\":\"dev\",\"methods\":{\"setPrice(bytes32,int64,int32)\":{\"params\":{\"expo\":\"Exponent, usually -8 for USD feeds\",\"id\":\"Pyth price feed id\",\"price\":\"Price value in Pyth format (e.g. 2000 * 1e8 for expo -8)\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getPrice(bytes32)\":{\"notice\":\"Minimal subset of IPyth.getPrice used in ChaosHook.\"},\"getPriceUnsafe(bytes32)\":{\"notice\":\"Minimal subset of IPyth: ChaosHook calls getPriceUnsafe.\"},\"setPrice(bytes32,int64,int32)\":{\"notice\":\"Set a mock price with given value and exponent.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/mocks/MockPyth.sol\":\"MockPyth\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/=lib/v4-core/node_modules/@ensdomains/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@pythnetwork/entropy-sdk-solidity/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@pythnetwork/pyth-sdk-solidity/=node_modules/@pythnetwork/pyth-sdk-solidity/\",\":@uniswap/v4-core/=lib/v4-core/\",\":@uniswap/v4-periphery/=lib/v4-periphery/\",\":ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/v4-periphery/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hardhat/=lib/v4-core/node_modules/hardhat/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":permit2/=lib/v4-periphery/lib/permit2/\",\":pyth-sdk-solidity/=lib/pyth-sdk-solidity/\",\":solmate/=lib/v4-core/lib/solmate/\",\":v4-core/=lib/v4-core/\",\":v4-periphery/=lib/v4-periphery/\"],\"viaIR\":true},\"sources\":{\"node_modules/@pythnetwork/pyth-sdk-solidity/PythStructs.sol\":{\"keccak256\":\"0x474436bf0d558cc9b2c00a9d0ce318147acdf7963f34ef4acadb9248e65bbc7b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://2b8f9bd9de35e67c7bdbf04d8c2e771718fcc8666456ca5f92dbd914e4a5f2b3\",\"dweb:/ipfs/QmNP3ShBYRp4RiVbAudMB7rNHAqgtwn8pPBzb8JTUaViRh\"]},\"test/mocks/MockPyth.sol\":{\"keccak256\":\"0x6be911032b79259bfdc7737d5f2079c5d65daef56b252820e332c10e67bdafdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da002cbbfe5f2bb8255818895aeb166f88dba7e9d90c6fb17577b80d43db117\",\"dweb:/ipfs/QmYjw1BDDWD1G4rnPAG76eNH288vbVxWTaeyv4YT8mNYeY\"]}},\"version\":1}", + "metadata": { + "compiler": { "version": "0.8.26+commit.8a97fa7a" }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { "internalType": "bytes32", "name": "id", "type": "bytes32" } + ], + "stateMutability": "view", + "type": "function", + "name": "getPrice", + "outputs": [ + { + "internalType": "struct PythStructs.Price", + "name": "", + "type": "tuple", + "components": [ + { "internalType": "int64", "name": "price", "type": "int64" }, + { "internalType": "uint64", "name": "conf", "type": "uint64" }, + { "internalType": "int32", "name": "expo", "type": "int32" }, + { + "internalType": "uint256", + "name": "publishTime", + "type": "uint256" + } + ] + } + ] + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "id", "type": "bytes32" } + ], + "stateMutability": "view", + "type": "function", + "name": "getPriceUnsafe", + "outputs": [ + { + "internalType": "struct PythStructs.Price", + "name": "", + "type": "tuple", + "components": [ + { "internalType": "int64", "name": "price", "type": "int64" }, + { "internalType": "uint64", "name": "conf", "type": "uint64" }, + { "internalType": "int32", "name": "expo", "type": "int32" }, + { + "internalType": "uint256", + "name": "publishTime", + "type": "uint256" + } + ] + } + ] + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "id", "type": "bytes32" }, + { "internalType": "int64", "name": "price", "type": "int64" }, + { "internalType": "int32", "name": "expo", "type": "int32" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setPrice" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "setPrice(bytes32,int64,int32)": { + "params": { + "expo": "Exponent, usually -8 for USD feeds", + "id": "Pyth price feed id", + "price": "Price value in Pyth format (e.g. 2000 * 1e8 for expo -8)" + } + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "getPrice(bytes32)": { + "notice": "Minimal subset of IPyth.getPrice used in ChaosHook." + }, + "getPriceUnsafe(bytes32)": { + "notice": "Minimal subset of IPyth: ChaosHook calls getPriceUnsafe." + }, + "setPrice(bytes32,int64,int32)": { + "notice": "Set a mock price with given value and exponent." + } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@ensdomains/=lib/v4-core/node_modules/@ensdomains/", + "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", + "@pythnetwork/entropy-sdk-solidity/=node_modules/@pythnetwork/entropy-sdk-solidity/", + "@pythnetwork/pyth-sdk-solidity/=node_modules/@pythnetwork/pyth-sdk-solidity/", + "@uniswap/v4-core/=lib/v4-core/", + "@uniswap/v4-periphery/=lib/v4-periphery/", + "ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/", + "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", + "forge-gas-snapshot/=lib/v4-periphery/lib/permit2/lib/forge-gas-snapshot/src/", + "forge-std/=lib/forge-std/src/", + "halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/", + "hardhat/=lib/v4-core/node_modules/hardhat/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/", + "permit2/=lib/v4-periphery/lib/permit2/", + "pyth-sdk-solidity/=lib/pyth-sdk-solidity/", + "solmate/=lib/v4-core/lib/solmate/", + "v4-core/=lib/v4-core/", + "v4-periphery/=lib/v4-periphery/" + ], + "optimizer": { "enabled": true, "runs": 200 }, + "metadata": { "bytecodeHash": "ipfs" }, + "compilationTarget": { "test/mocks/MockPyth.sol": "MockPyth" }, + "evmVersion": "cancun", + "libraries": {}, + "viaIR": true + }, + "sources": { + "node_modules/@pythnetwork/pyth-sdk-solidity/PythStructs.sol": { + "keccak256": "0x474436bf0d558cc9b2c00a9d0ce318147acdf7963f34ef4acadb9248e65bbc7b", + "urls": [ + "bzz-raw://2b8f9bd9de35e67c7bdbf04d8c2e771718fcc8666456ca5f92dbd914e4a5f2b3", + "dweb:/ipfs/QmNP3ShBYRp4RiVbAudMB7rNHAqgtwn8pPBzb8JTUaViRh" + ], + "license": "Apache-2.0" + }, + "test/mocks/MockPyth.sol": { + "keccak256": "0x6be911032b79259bfdc7737d5f2079c5d65daef56b252820e332c10e67bdafdb", + "urls": [ + "bzz-raw://9da002cbbfe5f2bb8255818895aeb166f88dba7e9d90c6fb17577b80d43db117", + "dweb:/ipfs/QmYjw1BDDWD1G4rnPAG76eNH288vbVxWTaeyv4YT8mNYeY" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "id": 78 +} diff --git a/entropy/chaos-lp-uniswap-v4/mev-sim/abis/PoolManager.json b/entropy/chaos-lp-uniswap-v4/mev-sim/abis/PoolManager.json new file mode 100644 index 0000000..89a8142 --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/mev-sim/abis/PoolManager.json @@ -0,0 +1,2675 @@ +{ + "abi": [ + { + "type": "constructor", + "inputs": [ + { "name": "initialOwner", "type": "address", "internalType": "address" } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { "name": "owner", "type": "address", "internalType": "address" }, + { "name": "spender", "type": "address", "internalType": "address" }, + { "name": "id", "type": "uint256", "internalType": "uint256" } + ], + "outputs": [ + { "name": "amount", "type": "uint256", "internalType": "uint256" } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { "name": "spender", "type": "address", "internalType": "address" }, + { "name": "id", "type": "uint256", "internalType": "uint256" }, + { "name": "amount", "type": "uint256", "internalType": "uint256" } + ], + "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { "name": "owner", "type": "address", "internalType": "address" }, + { "name": "id", "type": "uint256", "internalType": "uint256" } + ], + "outputs": [ + { "name": "balance", "type": "uint256", "internalType": "uint256" } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { "name": "from", "type": "address", "internalType": "address" }, + { "name": "id", "type": "uint256", "internalType": "uint256" }, + { "name": "amount", "type": "uint256", "internalType": "uint256" } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "clear", + "inputs": [ + { "name": "currency", "type": "address", "internalType": "Currency" }, + { "name": "amount", "type": "uint256", "internalType": "uint256" } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "collectProtocolFees", + "inputs": [ + { "name": "recipient", "type": "address", "internalType": "address" }, + { "name": "currency", "type": "address", "internalType": "Currency" }, + { "name": "amount", "type": "uint256", "internalType": "uint256" } + ], + "outputs": [ + { + "name": "amountCollected", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "donate", + "inputs": [ + { + "name": "key", + "type": "tuple", + "internalType": "struct PoolKey", + "components": [ + { + "name": "currency0", + "type": "address", + "internalType": "Currency" + }, + { + "name": "currency1", + "type": "address", + "internalType": "Currency" + }, + { "name": "fee", "type": "uint24", "internalType": "uint24" }, + { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, + { + "name": "hooks", + "type": "address", + "internalType": "contract IHooks" + } + ] + }, + { "name": "amount0", "type": "uint256", "internalType": "uint256" }, + { "name": "amount1", "type": "uint256", "internalType": "uint256" }, + { "name": "hookData", "type": "bytes", "internalType": "bytes" } + ], + "outputs": [ + { "name": "delta", "type": "int256", "internalType": "BalanceDelta" } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "extsload", + "inputs": [ + { "name": "slot", "type": "bytes32", "internalType": "bytes32" } + ], + "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "extsload", + "inputs": [ + { "name": "startSlot", "type": "bytes32", "internalType": "bytes32" }, + { "name": "nSlots", "type": "uint256", "internalType": "uint256" } + ], + "outputs": [ + { "name": "", "type": "bytes32[]", "internalType": "bytes32[]" } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "extsload", + "inputs": [ + { "name": "slots", "type": "bytes32[]", "internalType": "bytes32[]" } + ], + "outputs": [ + { "name": "", "type": "bytes32[]", "internalType": "bytes32[]" } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "exttload", + "inputs": [ + { "name": "slots", "type": "bytes32[]", "internalType": "bytes32[]" } + ], + "outputs": [ + { "name": "", "type": "bytes32[]", "internalType": "bytes32[]" } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "exttload", + "inputs": [ + { "name": "slot", "type": "bytes32", "internalType": "bytes32" } + ], + "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "key", + "type": "tuple", + "internalType": "struct PoolKey", + "components": [ + { + "name": "currency0", + "type": "address", + "internalType": "Currency" + }, + { + "name": "currency1", + "type": "address", + "internalType": "Currency" + }, + { "name": "fee", "type": "uint24", "internalType": "uint24" }, + { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, + { + "name": "hooks", + "type": "address", + "internalType": "contract IHooks" + } + ] + }, + { "name": "sqrtPriceX96", "type": "uint160", "internalType": "uint160" } + ], + "outputs": [{ "name": "tick", "type": "int24", "internalType": "int24" }], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isOperator", + "inputs": [ + { "name": "owner", "type": "address", "internalType": "address" }, + { "name": "operator", "type": "address", "internalType": "address" } + ], + "outputs": [ + { "name": "isOperator", "type": "bool", "internalType": "bool" } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { "name": "to", "type": "address", "internalType": "address" }, + { "name": "id", "type": "uint256", "internalType": "uint256" }, + { "name": "amount", "type": "uint256", "internalType": "uint256" } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "modifyLiquidity", + "inputs": [ + { + "name": "key", + "type": "tuple", + "internalType": "struct PoolKey", + "components": [ + { + "name": "currency0", + "type": "address", + "internalType": "Currency" + }, + { + "name": "currency1", + "type": "address", + "internalType": "Currency" + }, + { "name": "fee", "type": "uint24", "internalType": "uint24" }, + { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, + { + "name": "hooks", + "type": "address", + "internalType": "contract IHooks" + } + ] + }, + { + "name": "params", + "type": "tuple", + "internalType": "struct ModifyLiquidityParams", + "components": [ + { "name": "tickLower", "type": "int24", "internalType": "int24" }, + { "name": "tickUpper", "type": "int24", "internalType": "int24" }, + { + "name": "liquidityDelta", + "type": "int256", + "internalType": "int256" + }, + { "name": "salt", "type": "bytes32", "internalType": "bytes32" } + ] + }, + { "name": "hookData", "type": "bytes", "internalType": "bytes" } + ], + "outputs": [ + { + "name": "callerDelta", + "type": "int256", + "internalType": "BalanceDelta" + }, + { + "name": "feesAccrued", + "type": "int256", + "internalType": "BalanceDelta" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [{ "name": "", "type": "address", "internalType": "address" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "protocolFeeController", + "inputs": [], + "outputs": [{ "name": "", "type": "address", "internalType": "address" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "protocolFeesAccrued", + "inputs": [ + { "name": "currency", "type": "address", "internalType": "Currency" } + ], + "outputs": [ + { "name": "amount", "type": "uint256", "internalType": "uint256" } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setOperator", + "inputs": [ + { "name": "operator", "type": "address", "internalType": "address" }, + { "name": "approved", "type": "bool", "internalType": "bool" } + ], + "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setProtocolFee", + "inputs": [ + { + "name": "key", + "type": "tuple", + "internalType": "struct PoolKey", + "components": [ + { + "name": "currency0", + "type": "address", + "internalType": "Currency" + }, + { + "name": "currency1", + "type": "address", + "internalType": "Currency" + }, + { "name": "fee", "type": "uint24", "internalType": "uint24" }, + { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, + { + "name": "hooks", + "type": "address", + "internalType": "contract IHooks" + } + ] + }, + { "name": "newProtocolFee", "type": "uint24", "internalType": "uint24" } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setProtocolFeeController", + "inputs": [ + { "name": "controller", "type": "address", "internalType": "address" } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "settle", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "settleFor", + "inputs": [ + { "name": "recipient", "type": "address", "internalType": "address" } + ], + "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "supportsInterface", + "inputs": [ + { "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" } + ], + "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "swap", + "inputs": [ + { + "name": "key", + "type": "tuple", + "internalType": "struct PoolKey", + "components": [ + { + "name": "currency0", + "type": "address", + "internalType": "Currency" + }, + { + "name": "currency1", + "type": "address", + "internalType": "Currency" + }, + { "name": "fee", "type": "uint24", "internalType": "uint24" }, + { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, + { + "name": "hooks", + "type": "address", + "internalType": "contract IHooks" + } + ] + }, + { + "name": "params", + "type": "tuple", + "internalType": "struct SwapParams", + "components": [ + { "name": "zeroForOne", "type": "bool", "internalType": "bool" }, + { + "name": "amountSpecified", + "type": "int256", + "internalType": "int256" + }, + { + "name": "sqrtPriceLimitX96", + "type": "uint160", + "internalType": "uint160" + } + ] + }, + { "name": "hookData", "type": "bytes", "internalType": "bytes" } + ], + "outputs": [ + { + "name": "swapDelta", + "type": "int256", + "internalType": "BalanceDelta" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "sync", + "inputs": [ + { "name": "currency", "type": "address", "internalType": "Currency" } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "take", + "inputs": [ + { "name": "currency", "type": "address", "internalType": "Currency" }, + { "name": "to", "type": "address", "internalType": "address" }, + { "name": "amount", "type": "uint256", "internalType": "uint256" } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { "name": "receiver", "type": "address", "internalType": "address" }, + { "name": "id", "type": "uint256", "internalType": "uint256" }, + { "name": "amount", "type": "uint256", "internalType": "uint256" } + ], + "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { "name": "sender", "type": "address", "internalType": "address" }, + { "name": "receiver", "type": "address", "internalType": "address" }, + { "name": "id", "type": "uint256", "internalType": "uint256" }, + { "name": "amount", "type": "uint256", "internalType": "uint256" } + ], + "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferOwnership", + "inputs": [ + { "name": "newOwner", "type": "address", "internalType": "address" } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "unlock", + "inputs": [{ "name": "data", "type": "bytes", "internalType": "bytes" }], + "outputs": [ + { "name": "result", "type": "bytes", "internalType": "bytes" } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateDynamicLPFee", + "inputs": [ + { + "name": "key", + "type": "tuple", + "internalType": "struct PoolKey", + "components": [ + { + "name": "currency0", + "type": "address", + "internalType": "Currency" + }, + { + "name": "currency1", + "type": "address", + "internalType": "Currency" + }, + { "name": "fee", "type": "uint24", "internalType": "uint24" }, + { "name": "tickSpacing", "type": "int24", "internalType": "int24" }, + { + "name": "hooks", + "type": "address", + "internalType": "contract IHooks" + } + ] + }, + { + "name": "newDynamicLPFee", + "type": "uint24", + "internalType": "uint24" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Donate", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "PoolId" + }, + { + "name": "sender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount0", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount1", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialize", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "PoolId" + }, + { + "name": "currency0", + "type": "address", + "indexed": true, + "internalType": "Currency" + }, + { + "name": "currency1", + "type": "address", + "indexed": true, + "internalType": "Currency" + }, + { + "name": "fee", + "type": "uint24", + "indexed": false, + "internalType": "uint24" + }, + { + "name": "tickSpacing", + "type": "int24", + "indexed": false, + "internalType": "int24" + }, + { + "name": "hooks", + "type": "address", + "indexed": false, + "internalType": "contract IHooks" + }, + { + "name": "sqrtPriceX96", + "type": "uint160", + "indexed": false, + "internalType": "uint160" + }, + { + "name": "tick", + "type": "int24", + "indexed": false, + "internalType": "int24" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ModifyLiquidity", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "PoolId" + }, + { + "name": "sender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "tickLower", + "type": "int24", + "indexed": false, + "internalType": "int24" + }, + { + "name": "tickUpper", + "type": "int24", + "indexed": false, + "internalType": "int24" + }, + { + "name": "liquidityDelta", + "type": "int256", + "indexed": false, + "internalType": "int256" + }, + { + "name": "salt", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OperatorSet", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "OwnershipTransferred", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ProtocolFeeControllerUpdated", + "inputs": [ + { + "name": "protocolFeeController", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ProtocolFeeUpdated", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "PoolId" + }, + { + "name": "protocolFee", + "type": "uint24", + "indexed": false, + "internalType": "uint24" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Swap", + "inputs": [ + { + "name": "id", + "type": "bytes32", + "indexed": true, + "internalType": "PoolId" + }, + { + "name": "sender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount0", + "type": "int128", + "indexed": false, + "internalType": "int128" + }, + { + "name": "amount1", + "type": "int128", + "indexed": false, + "internalType": "int128" + }, + { + "name": "sqrtPriceX96", + "type": "uint160", + "indexed": false, + "internalType": "uint160" + }, + { + "name": "liquidity", + "type": "uint128", + "indexed": false, + "internalType": "uint128" + }, + { + "name": "tick", + "type": "int24", + "indexed": false, + "internalType": "int24" + }, + { + "name": "fee", + "type": "uint24", + "indexed": false, + "internalType": "uint24" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "caller", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "id", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { "type": "error", "name": "AlreadyUnlocked", "inputs": [] }, + { + "type": "error", + "name": "CurrenciesOutOfOrderOrEqual", + "inputs": [ + { "name": "currency0", "type": "address", "internalType": "address" }, + { "name": "currency1", "type": "address", "internalType": "address" } + ] + }, + { "type": "error", "name": "CurrencyNotSettled", "inputs": [] }, + { "type": "error", "name": "DelegateCallNotAllowed", "inputs": [] }, + { "type": "error", "name": "InvalidCaller", "inputs": [] }, + { "type": "error", "name": "ManagerLocked", "inputs": [] }, + { "type": "error", "name": "MustClearExactPositiveDelta", "inputs": [] }, + { "type": "error", "name": "NonzeroNativeValue", "inputs": [] }, + { "type": "error", "name": "PoolNotInitialized", "inputs": [] }, + { "type": "error", "name": "ProtocolFeeCurrencySynced", "inputs": [] }, + { + "type": "error", + "name": "ProtocolFeeTooLarge", + "inputs": [{ "name": "fee", "type": "uint24", "internalType": "uint24" }] + }, + { "type": "error", "name": "SwapAmountCannotBeZero", "inputs": [] }, + { + "type": "error", + "name": "TickSpacingTooLarge", + "inputs": [ + { "name": "tickSpacing", "type": "int24", "internalType": "int24" } + ] + }, + { + "type": "error", + "name": "TickSpacingTooSmall", + "inputs": [ + { "name": "tickSpacing", "type": "int24", "internalType": "int24" } + ] + }, + { "type": "error", "name": "UnauthorizedDynamicLPFeeUpdate", "inputs": [] } + ], + "bytecode": { + "object": "0x60a03460a057601f6143b838819003918201601f19168301916001600160401b0383118484101760a45780849260209460405283398101031260a057516001600160a01b0381169081900360a0575f80546001600160a01b0319168217815560405191907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3306080526142ff90816100b98239608051816124550152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60a0806040526004361015610012575f80fd5b5f3560e01c908162fdd58e14611f3a5750806301ffc9a714611ee4578063095bcdb614611e5d5780630b0d9c0914611e0257806311da60b414611dd8578063156e29f614611d535780631e2eaeaf14611d37578063234266d714611b3f5780632d77138914611acd57806335fd631a14611a775780633dd45adb14611a44578063426a8493146119ca57806348c8949114611833578063527596511461178f578063558a7297146116fd578063598af9e7146116a35780635a6bcfda14610dd15780636276cbbe14610b135780637e87ce7d14610a4357806380f0b44c146109c85780638161b874146108fb5780638da5cb5b146108d457806397e8cd4e1461089c5780639bf6645f1461084f578063a5841194146107d5578063b6363cf21461077e578063dbd035ff14610728578063f02de3b214610700578063f135baaa146106e4578063f2fde38b1461066f578063f3cd914c14610407578063f5298aca146102e45763fe99049a14610186575f80fd5b346102e05760803660031901126102e05761019f611f79565b6101a7611f8f565b60443591606435916001600160a01b03909116905f8051602061426a833981519152906102449033841415806102bd575b610252575b835f52600460205260405f20865f5260205260405f206101fe868254612159565b905560018060a01b031693845f52600460205260405f20865f5260205260405f2061022a828254612166565b905560408051338152602081019290925290918291820190565b0390a4602060405160018152f35b5f84815260056020908152604080832033845282528083208984529091529020548560018201610284575b50506101dd565b61028d91612159565b845f52600560205260405f2060018060a01b0333165f5260205260405f20875f5260205260405f20555f8561027d565b505f84815260036020908152604080832033845290915290205460ff16156101d8565b5f80fd5b346102e0576102f236611fa5565b5f8051602061428a8339815191525c156103f8575f8051602061426a8339815191526103705f9360018060a01b03169461033661032e856121ce565b3390886121ef565b6001600160a01b03169233841415806103d6575b610375575b8385526004602052604085208686526020526040852061022a828254612159565b0390a4005b838552600560209081526040808720338852825280872088885290915285205481861982036103a6575b505061034f565b6103af91612159565b8486526005602090815260408088203389528252808820898952909152862055868161039f565b5083855260036020908152604080872033885290915285205460ff161561034a565b6354e3ca0d60e01b5f5260045ffd5b346102e0576101203660031901126102e05761042236612053565b60603660a31901126102e0576040519061043b82611fea565b60a43580151581036102e057825260c435602083019081529060e435906001600160a01b03821682036102e05760408401918252610104356001600160401b0381116102e05761048f9036906004016120da565b9290935f8051602061428a8339815191525c156103f8576104ae612453565b51156106605760a0822092835f52600660205260405f20906104cf82612494565b60808401958482828a600160a01b600190038b5116936104ee946128cc565b90949195606088015160020b908b51151590600160a01b60019003905116916040519861051a8a612005565b895260208901526040880152606087015262ffffff166080860152885115155f149862ffffff610607986105636105f49860209d61064d578a516001600160a01b031695613367565b94929682919261062e575b505060018060a01b03845116938e6001600160801b0360408301511691015160020b90604051958860801d600f0b875288600f0b60208801526040870152606086015260808501521660a08301527f40e9cecb9f5f1f1c5b9c97dec2917b7ee92e57ba5563708daca94dd84ad7112f60c03393a3885187906001600160a01b0316612a39565b8094919461060f575b5050823391612535565b604051908152f35b9051610627916001600160a01b039091169083612535565b84806105fd565b60018060a01b03165f5260018f5260405f209081540190558e8061056e565b8a8e01516001600160a01b031695613367565b63be8b850760e01b5f5260045ffd5b346102e05760203660031901126102e057610688611f79565b5f549061069f336001600160a01b03841614612173565b60018060a01b031680916bffffffffffffffffffffffff60a01b16175f55337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b346102e05760203660031901126102e0576004355c5f5260205ff35b346102e0575f3660031901126102e0576002546040516001600160a01b039091168152602090f35b346102e05761073636612107565b6040519160408360208152836020820152019160051b8301916020806040850193925b8335548152019101908483821015610775575060208091610759565b60408186030190f35b346102e05760403660031901126102e057610797611f79565b61079f611f8f565b9060018060a01b03165f52600360205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b346102e05760203660031901126102e0576107ee611f79565b6001600160a01b03811690816108125750505f5f8051602061424a8339815191525d005b61081b90612840565b905f8051602061424a8339815191525d7f1e0745a7db1623981f0b2a5d4232364c00787266eb75ad546f190e6cebe9bd955d005b346102e05761085d36612107565b6040519160408360208152836020820152019160051b8301916020806040850193925b83355c8152019101908483821015610775575060208091610880565b346102e05760203660031901126102e0576001600160a01b036108bd611f79565b165f526001602052602060405f2054604051908152f35b346102e0575f3660031901126102e0575f546040516001600160a01b039091168152602090f35b346102e05760603660031901126102e057610914611f79565b61091c611f8f565b600254604435906001600160a01b031633036109b9576001600160a01b03821680151580610999575b61098a5760209361060792806109825750815f526001855260405f20549384925b5f526001865260405f2061097b848254612159565b905561227a565b938492610966565b6318f3cb2960e31b5f5260045ffd5b505f8051602061424a8339815191525c6001600160a01b03168114610945565b6348f5c3ed60e01b5f5260045ffd5b346102e05760403660031901126102e0576109e1611f79565b5f8051602061428a8339815191525c156103f857335f9081526001600160a01b038216602052604090205c610a176024356121ce565b9081600f0b03610a3457610a329133915f03600f0b906121ef565b005b63bda73abf60e01b5f5260045ffd5b346102e05760c03660031901126102e057610a5d36612053565b610a65612041565b6002549091906001600160a01b031633036109b957623e900062fff0008316106103e9610fff8416101615610afb57602060a07fe9c42593e71f84403b84352cd168d693e2c9fcd1fdbcc3feb21d92b43e6696f9922092835f526006825260405f20610ad081612494565b805462ffffff60b81b191660b883901b62ffffff60b81b1617905560405162ffffff919091168152a2005b62ffffff8263a7abe2f760e01b5f521660045260245ffd5b346102e05760c03660031901126102e057610b2d36612053565b60a435906001600160a01b0382168083036102e057610b4a612453565b6060820191825160020b617fff8113610dbf5750825160020b60018112610dad5750805160208201805190916001600160a01b03908116911680821015610d8f575050608082019060018060a01b03825116906040840191610bb262ffffff84511682612772565b15610d7d5750610bc762ffffff835116612823565b83519097906001600160a01b0381169033829003610d2a575b505060a085205f8181526006602052604090208054919290916001600160a01b0316610d1b576020997fdd466e674ea557f56295e2d0218a125ea4b4f0f6f3307b95f85e6110838d643892610c3660a0936130e2565b9162ffffff60d01b9060d01b168a62ffffff851b84861b161717905562ffffff600180841b0389511695600180851b03905116965116995160020b600180841b03885116906040519b8c528c8c015260408b01528860608b015260020b98896080820152a4516001600160a01b0381169033829003610cba575b8585604051908152f35b61100016610cc9575b80610cb0565b610d1292610cf060405193636fe7e6eb60e01b8886015233602486015260448501906124b4565b60e4830152836101048301526101048252610d0d61012483612020565b612b5b565b50828080610cc3565b637983c05160e01b5f5260045ffd5b61200016610d39575b80610be0565b604051636e4c1aa760e11b6020820152336024820152610d7691610d6060448301896124b4565b8860e483015260e48252610d0d61010483612020565b5088610d33565b630732d7b560e51b5f5260045260245ffd5b60449250604051916306e6c98360e41b835260048301526024820152fd5b631d3d20b160e31b5f5260045260245ffd5b6316e0049f60e31b5f5260045260245ffd5b346102e0576101403660031901126102e057610dec36612053565b60803660a31901126102e05760405190610e0582611fcf565b60a4358060020b81036102e057825260c4358060020b81036102e057602083015260e4356040830152610104356060830152610124356001600160401b0381116102e057610e579036906004016120da565b90925f8051602061428a8339815191525c156103f857610e75612453565b60a0832093845f52600660205260405f20608052610e94608051612494565b60808401516001600160a01b03811690338290036115ee575b5050815160020b92602083015160020b91610ecb60408501516125f6565b93606087015160020b9760608201516040519960c08b018b81106001600160401b038211176115da57604052338b528860208c01528660408c015287600f0b60608c015260808b015260a08a01525f91858812156115bc57620d89e71988126115a957620d89e886136115965760405192610f4584611fcf565b5f84525f60208501525f60408501525f606085015287600f0b611373575b600460805101978960020b5f528860205260405f20988860020b5f5260205260405f206080515460a01c60020b8b81125f1461131d575060028060018c0154600184015490039b015491015490039b5b60a0600180821b03825116910151906040519160268301528960068301528b600383015281525f603a600c83012091816040820152816020820152525f5260066080510160205260405f20976001600160801b038954169982600f0b155f146112e1578a156112d25761106061105a60409f9b6111219c6111339e5b60018301956110526002611046848a548503613d76565b95019283548503613d76565b9655556121ce565b916121ce565b6001600160801b03169060801b179a8b965f84600f0b12611264575b5082600f0b611160575b5050506110ac61109d8560801d8360801d016125f6565b9185600f0b90600f0b016125f6565b6001600160801b03169060801b1791815160020b90602083015160020b8c8401516060850151918e5194855260208501528d84015260608301527ff208f4912782fd25c7f114ca3723a2d5dd6f3bcc3ac8db5af63baa85f711d5ec60803393a3608089015189906001600160a01b0316612674565b8094919461113f575b50833391612535565b82519182526020820152f35b608082015161115a916001600160a01b039091169083612535565b8561112a565b6080515492935090916001600160a01b0381169060a01c60020b828112156111b9575050906111ad926111a26111986111a894612cb9565b91600f0b92612cb9565b90613031565b6125f6565b60801b5b8b8080611086565b92809193125f1461123a576111f8916111e56111a86111a8936111df88600f0b91612cb9565b87613031565b936111f386600f0b92612cb9565b612fe6565b6001600160801b03169060801b17906001600160801b0361122560036080510192600f0b82845416613066565b166001600160801b03198254161790556111b1565b906111a892509261125061119861125695612cb9565b90612fe6565b6001600160801b03166111b1565b808f91516112a6575b015161127a575b8e61107c565b6112a18260805160049160020b5f52016020525f6002604082208281558260018201550155565b611274565b6112cd8360805160049160020b5f52016020525f6002604082208281558260018201550155565b61126d565b632bbfae4960e21b5f5260045ffd5b61106061105a60409f9b6111219c6111339e6001600160801b0361130889600f0b83613066565b166001600160801b031984541617835561102f565b90999089136113435760028060018c0154600184015490039b015491015490039b610fb3565b9860026001608051015460018c01549003600183015490039a81806080510154910154900391015490039b610fb3565b6004608051018960020b5f5280602052898960405f206113c381546001600160801b036113a681831695600f0b86613066565b16931594858515141595611562575b508d600f0b9060801d612a13565b60801b82179055602087015285528760020b5f5260205260405f208054906001600160801b0382166113f88b600f0b82613066565b901592836001600160801b03831615141593611535575b8b600f0b9060801d600f0b039160016001607f1b03831360016001607f1b031984121761152157826001600160801b03935060801b83831617905516606086015260408501525f88600f0b12156114aa575b835161148e575b604084015115610f635761148960808c015160020b88600560805101612c6d565b610f63565b6114a560808c015160020b8a600560805101612c6d565b611468565b60808b015160020b6001600160801b03600181602088015116925f81620d89e719071281620d89e719050390620d89e805030181041680911161150e576001600160801b036060860151161115611461578663b8e3c38560e01b5f5260045260245ffd5b8963b8e3c38560e01b5f5260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b6080515460a01c60020b8b1361140f5760016080510154600184015560026080510154600284015561140f565b6080515460a01c60020b1215611579575b8e6113b5565b600160805101546001840155600260805101546002840155611573565b8563035aeeff60e31b5f5260045260245ffd5b8763d5e2f7ab60e01b5f5260045260245ffd5b604488876040519163c4433ed560e01b835260048301526024820152fd5b634e487b7160e01b5f52604160045260245ffd5b5f604085015113808091611696575b1561164457505060405163259982e560e01b602082015261163b91610d0d8261162d8887898c3360248701612590565b03601f198101845283612020565b505b8580610ead565b159081611688575b50611658575b5061163d565b60405163021d0ee760e41b602082015261168191610d0d8261162d8887898c3360248701612590565b5085611652565b61020091501615158761164c565b50610800821615156115fd565b346102e05760603660031901126102e0576116bc611f79565b6116c4611f8f565b6001600160a01b039182165f90815260056020908152604080832094909316825292835281812060443582528352819020549051908152f35b346102e05760403660031901126102e057611716611f79565b602435908115158092036102e057335f52600360205260405f2060018060a01b0382165f5260205260405f2060ff1981541660ff841617905560405191825260018060a01b0316907fceb576d9f15e4e200fdb5096d64d5dfd667e16def20c1eefd14256d8e3faa26760203392a3602060405160018152f35b346102e05760c03660031901126102e0576117a936612053565b6117b1612041565b906280000062ffffff6040830151161480159061181c575b61180d5760a0906117d98361256c565b205f52600660205260405f20906117ef82612494565b815462ffffff60d01b191660d09190911b62ffffff60d01b16179055005b6330d2164160e01b5f5260045ffd5b5060808101516001600160a01b03163314156117c9565b346102e05760203660031901126102e0576004356001600160401b0381116102e0576118639036906004016120da565b5f8051602061428a8339815191525c6119bb576118b0915f9160015f8051602061428a8339815191525d6040516348eeb9a360e11b815260206004820152938492839260248401916121ae565b038183335af19081156119b0575f91611928575b505f805160206142aa8339815191525c6119195760406020915f5f8051602061428a8339815191525d815192839181835280519182918282860152018484015e5f828201840152601f01601f19168101030190f35b635212cba160e01b5f5260045ffd5b90503d805f833e6119398183612020565b8101906020818303126102e0578051906001600160401b0382116102e0570181601f820112156102e0578051906001600160401b0382116115da576040519261198c601f8401601f191660200185612020565b828452602083830101116102e057815f9260208093018386015e83010152816118c4565b6040513d5f823e3d90fd5b6328486b6360e11b5f5260045ffd5b346102e0576119d836611fa5565b9091335f52600560205260405f2060018060a01b0382165f5260205260405f20835f526020528160405f205560405191825260018060a01b0316907fb3fd5071835887567a0671151121894ddccc2842f1d10bedad13e0d17cace9a760203392a4602060405160018152f35b60203660031901126102e057611a58611f79565b5f8051602061428a8339815191525c156103f8576106076020916123bd565b346102e05760403660031901126102e0576024356004356040519160408360208152826020820152019060051b8301916001602060408501935b8354815201910190848382101561077557506020600191611ab1565b346102e05760203660031901126102e057611ae6611f79565b611afa60018060a01b035f54163314612173565b600280546001600160a01b0319166001600160a01b039290921691821790557fb4bd8ef53df690b9943d3318996006dbb82a25f54719d8c8035b516a2a5b8acc5f80a2005b346102e0576101003660031901126102e057611b5a36612053565b60c4359060a43560e4356001600160401b0381116102e057611b809036906004016120da565b9190935f8051602061428a8339815191525c156103f857611b9f612453565b60a0842094855f52600660205260405f2094611bba86612494565b6080810180516001600160a01b0381169033829003611cf8575b50506001600160801b03600388015416978815611ce957602098611bf7876121ce565b5f03611c02876121ce565b5f036001600160801b03169060801b179887611cd5575b86611cc0575b5050611c2c338985612535565b60405190868252858a8301527f29ef05caaff9404b7cb6d1c0e9bbae9eaa7ab2541feba1a9c4248594c08156cb60403393a3516001600160a01b038116939033859003611c7e575b8888604051908152f35b601016611c8c575b80611c74565b611cb495610d0d9361162d9260405197889563e1b4af6960e01b8d88015233602488016124f7565b50828080808080611c86565b600201908660801b0481540190558980611c1f565b60018101828960801b048154019055611c19565b63a74f97ab60e01b5f5260045ffd5b602016611d06575b80611bd4565b604051635b54587d60e11b6020820152611d3091610d0d8261162d8b898b8d8b33602488016124f7565b5088611d00565b346102e05760203660031901126102e057600435545f5260205ff35b346102e057611d6136611fa5565b905f8051602061428a8339815191525c156103f8576001600160a01b0316915f905f8051602061426a8339815191529061037090611dae611da1866121ce565b8503600f0b3390886121ef565b60018060a01b0316938484526004602052604084208685526020526040842061022a828254612166565b5f3660031901126102e0575f8051602061428a8339815191525c156103f8576020610607336123bd565b346102e05760603660031901126102e057611e1b611f79565b611e23611f8f565b604435905f8051602061428a8339815191525c156103f857610a3292611e58611e4b846121ce565b5f03600f0b3390836121ef565b61227a565b346102e057611e6b36611fa5565b9091335f52600460205260405f20835f5260205260405f20611e8e838254612159565b905560018060a01b031690815f52600460205260405f20835f5260205260405f20611eba828254612166565b9055604080513380825260208201939093525f8051602061426a8339815191529181908101610244565b346102e05760203660031901126102e05760043563ffffffff60e01b81168091036102e0576020906301ffc9a760e01b8114908115611f29575b506040519015158152f35b630f632fb360e01b14905082611f1e565b346102e05760403660031901126102e0576020906001600160a01b03611f5e611f79565b165f526004825260405f206024355f52825260405f20548152f35b600435906001600160a01b03821682036102e057565b602435906001600160a01b03821682036102e057565b60609060031901126102e0576004356001600160a01b03811681036102e057906024359060443590565b608081019081106001600160401b038211176115da57604052565b606081019081106001600160401b038211176115da57604052565b60a081019081106001600160401b038211176115da57604052565b90601f801991011681019081106001600160401b038211176115da57604052565b60a4359062ffffff821682036102e057565b60a09060031901126102e0576040519061206c82612005565b816004356001600160a01b03811681036102e05781526024356001600160a01b03811681036102e057602082015260443562ffffff811681036102e05760408201526064358060020b81036102e0576060820152608435906001600160a01b03821682036102e05760800152565b9181601f840112156102e0578235916001600160401b0383116102e057602083818601950101116102e057565b9060206003198301126102e0576004356001600160401b0381116102e057826023820112156102e0578060040135926001600160401b0384116102e05760248460051b830101116102e0576024019190565b9190820391821161152157565b9190820180921161152157565b1561217a57565b60405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606490fd5b908060209392818452848401375f828201840152601f01601f1916010190565b6001607f1b8110156121e057600f0b90565b6393dafdf160e01b5f5260045ffd5b9190600f0b918215612275576001600160a01b039182165f90815291166020526040902061221f815c92836128b1565b80915d61224b57505f195f805160206142aa8339815191525c015f805160206142aa8339815191525d5b565b1561225257565b60015f805160206142aa8339815191525c015f805160206142aa8339815191525d565b505050565b9091906001600160a01b03811690816123085750505f80808093855af11561229f5750565b6040516390bfb86560e01b81526001600160a01b0390911660048201525f602482018190526080604483015260a03d601f01601f191690810160648401523d6084840152903d9060a484013e808201600460a482015260c4633d2cec6f60e21b91015260e40190fd5b60205f604481949682604095865198899363a9059cbb60e01b855260018060a01b0316600485015260248401525af13d15601f3d116001855114161716928281528260208201520152156123595750565b6040516390bfb86560e01b8152600481019190915263a9059cbb60e01b602482015260806044820152601f3d01601f191660a0810160648301523d60848301523d5f60a484013e808201600460a482015260c4633c9fd93960e21b91015260e40190fd5b5f8051602061424a8339815191525c91906001600160a01b0383166123f2576122499034935b6123ec856121ce565b906121ef565b34612444576122499061242e7f1e0745a7db1623981f0b2a5d4232364c00787266eb75ad546f190e6cebe9bd955c61242986612840565b612159565b935f5f8051602061424a8339815191525d6123e3565b635876424f60e11b5f5260045ffd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361248557565b6306c4a1c760e11b5f5260045ffd5b546001600160a01b0316156124a557565b63486aa30760e01b5f5260045ffd5b80516001600160a01b03908116835260208083015182169084015260408083015162ffffff169084015260608083015160020b9084015260809182015116910152565b919261251a6101209461253298969360018060a01b0316855260208501906124b4565b60c083015260e08201528161010082015201916121ae565b90565b9061224992916125538360018060a01b038351168460801d906121ef565b60200151600f9190910b906001600160a01b03166121ef565b62ffffff16620f4240811161257e5750565b631400211360e01b5f5260045260245ffd5b6001600160a01b0390911681526125329492610160926125e891906125b99060208501906124b4565b8051600290810b60c08501526020820151900b60e0840152604081015161010084015260600151610120830152565b8161014082015201916121ae565b9081600f0b9182036121e057565b9261265a9061262b6125329997946101a0979460018060a01b0316875260208701906124b4565b8051600290810b60c08701526020820151900b60e0860152604081015161010086015260600151610120850152565b6101408301526101608201528161018082015201916121ae565b939590919296945f9660018060a01b038616331461276757885f6040870151135f1461270f5761040087166126ad575b50505050505050565b61270297999850926126fb969594926126e1926126ef956040519788966327c18fbf60e21b60208901523360248901612604565b03601f198101835282612020565b6002821615159161308e565b80926130ae565b915f8080808080806126a4565b95949392919061010086166127275750505050505050565b612702979950869850916126e19161275b94936126fb98604051978896633615df3f60e11b60208901523360248901612604565b6001821615159161308e565b505f96505050505050565b608081161580612817575b6127ed5760408116158061280b575b6127ed57610400811615806127ff575b6127ed57610100811615806127f3575b6127ed576001600160a01b0381166127cd575062ffffff1662800000141590565b613fff1615908115916127de575090565b62800000915062ffffff161490565b50505f90565b506001811615156127ac565b5060028116151561279c565b5060048116151561278c565b5060088116151561277d565b6280000062ffffff82161461283b576125328161256c565b505f90565b6001600160a01b03168061285357504790565b6020602491604051928380926370a0823160e01b82523060048301525afa9081156119b0575f91612882575090565b90506020813d6020116128a9575b8161289d60209383612020565b810103126102e0575190565b3d9150612890565b9190915f838201938412911290801582169115161761152157565b6020830151955f958695919491336001600160a01b03851614612a0657608084166128f9575b5050505050565b612971926126e161296b92612957946040519586946315d7892d60e21b602087015233602487015261292e604487018c6124b4565b8051151560e48701526020810151610104870152604001516001600160a01b0316610124860152565b6101406101448501526101648401916121ae565b82612b5b565b9160608351036129f7576040015162ffffff1662800000146129eb575b60081661299f575b808080806128f2565b604001519250608083901d600f0b8015612996576129c0905f8612956128b1565b93156129e3575f84135b6129d4575f612996565b637d05b8eb60e11b5f5260045ffd5b5f84126129ca565b6060820151935061298e565b631e048e1d60e01b5f5260045ffd5b505f965086955050505050565b90600f0b90600f0b019060016001607f1b0319821260016001607f1b0383131761152157565b91969592949293336001600160a01b03841614612b4e578460801d94600f0b938860408516612ad9575b50505050505f9481600f0b15801590612acd575b612a83575b5050509190565b612ab19395505f60208201511290511515145f14612ab9576001600160801b03169060801b175b80936130ae565b5f8080612a7c565b906001600160801b03169060801b17612aaa565b5082600f0b1515612a77565b612b32612b3e946126e16111a895612b44999895612b1761292e9660405197889663b47b2fb160e01b602089015233602489015260448801906124b4565b8c6101448501526101606101648501526101848401916121ae565b6004821615159161308e565b90612a13565b5f80808088612a63565b5050505050909150905f90565b9190918251925f8060208301958682865af115612bc357505060405191601f19603f3d011683016040523d83523d9060208401915f833e6020845110918215612ba7575b50506129f757565b5190516001600160e01b03199182169116141590505f80612b9f565b5183516001600160e01b03198116919060048210612c4d575b50506040516390bfb86560e01b81526001600160a01b0390921660048301526001600160e01b03191660248201526080604482015260a03d601f01601f191690810160648301523d60848301523d5f60a484013e808201600460a482015260c463a9e35b2f60e01b91015260e40190fd5b6001600160e01b031960049290920360031b82901b161690508280612bdc565b919060020b9060020b90818107612c9b5705908160081d5f52602052600160ff60405f2092161b8154189055565b601c906044926040519163d4d8f3e683526020830152604082015201fd5b60020b908160ff1d82810118620d89e88111612fd35763ffffffff9192600182167001fffcb933bd6fad37aa2d162d1a59400102600160801b189160028116612fb7575b60048116612f9b575b60088116612f7f575b60108116612f63575b60208116612f47575b60408116612f2b575b60808116612f0f575b6101008116612ef3575b6102008116612ed7575b6104008116612ebb575b6108008116612e9f575b6110008116612e83575b6120008116612e67575b6140008116612e4b575b6180008116612e2f575b620100008116612e13575b620200008116612df8575b620400008116612ddd575b6208000016612dc4575b5f12612dbc575b0160201c90565b5f1904612db5565b6b048a170391f7dc42444e8fa290910260801c90612dae565b6d2216e584f5fa1ea926041bedfe9890920260801c91612da4565b916e5d6af8dedb81196699c329225ee6040260801c91612d99565b916f09aa508b5b7a84e1c677de54f3e99bc90260801c91612d8e565b916f31be135f97d08fd981231505542fcfa60260801c91612d83565b916f70d869a156d2a1b890bb3df62baf32f70260801c91612d79565b916fa9f746462d870fdf8a65dc1f90e061e50260801c91612d6f565b916fd097f3bdfd2022b8845ad8f792aa58250260801c91612d65565b916fe7159475a2c29b7443b29c7fa6e889d90260801c91612d5b565b916ff3392b0822b70005940c7a398e4b70f30260801c91612d51565b916ff987a7253ac413176f2b074cf7815e540260801c91612d47565b916ffcbe86c7900a88aedcffc83b479aa3a40260801c91612d3d565b916ffe5dee046a99a2a811c461f1969c30530260801c91612d33565b916fff2ea16466c96a3843ec78b326b528610260801c91612d2a565b916fff973b41fa98c081472e6896dfb254c00260801c91612d21565b916fffcb9843d60f6159c9db58835c9266440260801c91612d18565b916fffe5caca7e10e4e61c3624eaa0941cd00260801c91612d0f565b916ffff2e50f5f656932ef12357cf3c7fdcc0260801c91612d06565b916ffff97272373d413259a46990580e213a0260801c91612cfd565b826345c3193d60e11b5f5260045260245ffd5b905f83600f0b125f1461301257613008925f036001600160801b031691613fba565b5f81126121e05790565b613025926001600160801b031691613f7e565b5f81126121e0575f0390565b905f83600f0b125f1461305357613008925f036001600160801b031691614052565b613025926001600160801b031691613fe6565b906001600160801b0390600f0b911601908160801c61308157565b6393dafdf15f526004601cfd5b9061309891612b5b565b901561283b5760408151036129f7576040015190565b6130d1906130c38360801d8260801d036125f6565b92600f0b90600f0b036125f6565b6001600160801b03169060801b1790565b73fffd8963efd1fc6a506488495d951d51639616826401000276a21982016001600160a01b03161161332957602081901b640100000000600160c01b03168060ff61312c826140b0565b16916080831061331d5750607e1982011c5b800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c80029081607f1c8260ff1c1c80029283607f1c8460ff1c1c80029485607f1c8660ff1c1c80029687607f1c8860ff1c1c80029889607f1c8a60ff1c1c80029a8b607f1c8c60ff1c1c80029c8d80607f1c9060ff1c1c800260cd1c6604000000000000169d60cc1c6608000000000000169c60cb1c6610000000000000169b60ca1c6620000000000000169a60c91c6640000000000000169960c81c6680000000000000169860c71c670100000000000000169760c61c670200000000000000169660c51c670400000000000000169560c41c670800000000000000169460c31c671000000000000000169360c21c672000000000000000169260c11c674000000000000000169160c01c6780000000000000001690607f190160401b1717171717171717171717171717693627a301d71055774c85026f028f6481ab7f045a5af012a19d003aa919810160801d60020b906fdb2df09e81959a81455e260799a0632f0160801d60020b918282145f146132f95750905090565b6001600160a01b039081169061330e84612cb9565b1611613318575090565b905090565b905081607f031b61313e565b6318521d4960e21b5f9081526001600160a01b0391909116600452602490fd5b8115613353570490565b634e487b7160e01b5f52601260045260245ffd5b6040519290915f61337785611fea565b5f855260208501925f845260408601955f875280968654956040860151159586155f14613d6857610fff8860b81c16945b81516001600160a01b038a1680875260a08b901c60020b90945260038b01546001600160801b031690945260808201515f94939062400000811615613d595762bfffff166133f58161256c565b61ffff8816613d3e575b8096620f424062ffffff83161015613d26575b845115613d1057505088613cc8576060830180519091906001600160a01b031681811015613caa575050516001600160a01b03166401000276a3811115613c9857505b604051986101008a018a81106001600160401b038211176115da576040525f8a525f60208b01525f60408b01525f60608b01525f60808b01525f60a08b01525f60c08b015288155f14613c8a5760018b0154949390945b60e08b01525b80158015613c6f575b613b845760018060a01b038c51168a528a60208d015160020b602085015160020b90815f818307129105038b155f14613a9157600560ff8216938260020b60081d60010b5f520160205260405f205f198460ff031c9054169283151593845f14613a7f579061352b60ff926140b0565b90031660020b900360020b0260020b5b905b151560408c015260020b8060208c0152620d89e7191215613a70575b620d89e860208b015160020b1215613a62575b858c8b8b6001600160801b0360406001808060a01b03613592602087015160020b612cb9565b16806060870152818060a01b0387511694828060a01b0360608d01511692839115168183101891180218940151169060018060a01b038416811015915f87125f1461393c5762ffffff8616620f4240036135ee81895f03613dbf565b95841561392b57613600838583613fe6565b965b87811061388857509660c093929188919062ffffff8216620f424003613874575050865b945b15613866579161363792613fba565b925b015260a08d015260808c01526001600160a01b03168c5282515f12156138365760a08a0151905f82126121e057039261367b60808b015160c08c015190612166565b5f81126121e057810390811360011661152157935b61ffff87166137ee575b6001600160801b0360408d015116806137d4575b508b5160608b01516001600160a01b03918216911681036137a5575060408a0151613705575b886136f8575f1960208b015160020b0160020b5b60020b60208d01525b93926134b2565b60208a015160020b6136e8565b88613782576001600160801b036137698d8d8d600460e08201519260206002820154935b015160020b60020b5f520160205260405f2091600183019081549003905560028201908154900390555460801d908c15613774575b604001518316613066565b1660408d01526136d4565b5f91909103600f0b9061375e565b6001600160801b036137698d8d8d6004600183015492602060e084015193613729565b8a516001600160a01b031681036137bd575b506136f1565b6137c6906130e2565b60020b60208d01525f6137b7565b60c08b015160801b0460e08b01510160e08b01525f6136ae565b9662ffffff861661ffff8816036138195760c08a0151905b8160c08c01510360c08c0152019661369a565b620f424060808b015161ffff89169060c08d015101020490613806565b60808a015160c08b015101905f82126121e057019260a08a01515f81126121e057613860916128b1565b93613690565b61386f92614052565b613637565b62ffffff613883921689614133565b613626565b97505050935091508392801583151761391e578e9260c09183156138bd576138b18782846141b6565b809789015f0394613628565b6001600160a01b038711613900576138fb6138f66138e76001600160801b0384168a60601b613349565b6001600160a01b038516612166565b614235565b6138b1565b6138fb6138f66139196001600160801b0384168a613e74565b6138e7565b634f2461b85f526004601cfd5b613936838286613f7e565b96613602565b91945091508315613a5157613952818385613fba565b925b83861061399e5780945b1561398f579161396d92613fe6565b905b8c60c061398962ffffff8c16620f42408190039086614133565b91613639565b61399892613f7e565b9061396f565b50849250811581151761391e578315613a41576001600160a01b038511613a09578460601b6001600160801b03821680820615159104015b6001600160a01b03831690808211156139fc5790036001600160a01b03165b809461395e565b634323a5555f526004601cfd5b6001600160801b038116613a2281600160601b88613efe565b90801561335357600160601b8709156139d657600101806139d6575f80fd5b613a4c85828461415c565b6139f5565b613a5c818484614052565b92613954565b620d89e860208b015261356c565b620d89e71960208b0152613559565b5060020b900360020b0260020b61353b565b6001018060020b9060058160ff16948360081d60010b5f520160205260405f2090600160ff5f1992161b0119905416801593841594855f14613b6c576102e0578160ff925f03167e1f0d1e100c1d070f090b19131c1706010e11080a1a141802121b1503160405601f6101e07f804040554300526644320000502061067405302602000010750620017611707760fc7fb6db6db6ddddddddd34d34d349249249210842108c6318c639ce739cffffffff860260f81c161b60f71c1692831c63d76453e004161a17031660020b0160020b0260020b5b9061353d565b5060ff809250031660020b0160020b0260020b613b66565b949891955099969298919598602088015160a01b62ffffff60a01b1660018060a01b038951169168ffffffffffffffffff60b81b16171782556001600160801b036003830154166001600160801b03604089015116809103613c4b575b508215613c3c5760e060029101519101555b825190155f821214613c265750613c0d613c1592936125f6565b9251036125f6565b6001600160801b03169060801b1793565b613c15925090613c3691036125f6565b916125f6565b60e06001910151910155613bf3565b6001600160801b03166001600160801b03196003840154161760038301555f613be1565b508b5160608401516001600160a01b039081169116146134bb565b60028b0154949390946134ac565b639e4d7cc760e01b5f5260045260245ffd5b6044925060405191637c9c6e8f60e01b835260048301526024820152fd5b6060830180519091906001600160a01b031681811115613caa575050516001600160a01b031673fffd8963efd1fc6a506488495d951d5263988d26811015613c985750613455565b9a509a50509950505050505050505f925f929190565b5f8551131561341257634b10312360e11b5f5260045ffd5b62ffffff610fff89169116620f4240818302049101036133ff565b508960d01c62ffffff166133f5565b610fff8860c41c16946133a8565b81810291905f1982820991838084109303928084039384600160801b11156102e05714613db657600160801b910990828211900360801b910360801c1790565b50505060801c90565b808202905f1983820990828083109203918083039283620f424011156102e05714613e1f577fde8f6cefed634549b62c77574f722e1ac57e23f24d8fd5cb790fb65668c2613993620f4240910990828211900360fa1b910360061c170290565b5050620f424091500490565b81810291905f1982820991838084109303928084039384600160601b11156102e05714613e6b57600160601b910990828211900360a01b910360601c1790565b50505060601c90565b90606082901b905f19600160601b8409928280851094039380850394858411156102e05714613ef7578190600160601b900981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b5091500490565b91818302915f19818509938380861095039480860395868511156102e05714613f76579082910981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b505091500490565b6001600160a01b0391821691160360ff81901d90810118906001906001600160801b0316613fac8382613e2b565b928260601b91091515160190565b612532926001600160a01b03928316919092160360ff81901d90810118906001600160801b0316613e2b565b6001600160a01b038281169082161161404c575b6001600160a01b03811692831561404057614034926001600160a01b0380821693909103169060601b600160601b600160e01b0316614133565b90808206151591040190565b62bfc9215f526004601cfd5b90613ffa565b906001600160a01b03808216908316116140aa575b6001600160a01b03821691821561404057612532936140a5926001600160a01b0380821693909103169060601b600160601b600160e01b0316613efe565b613349565b90614067565b80156102e0577f07060605060205000602030205040001060502050303040105050304000000006f8421084210842108cc6318c6db6d54be826001600160801b031060071b83811c6001600160401b031060061b1783811c63ffffffff1060051b1783811c61ffff1060041b1783811c60ff1060031b1792831c1c601f161a1790565b929190614141828286613efe565b938215613353570961414f57565b906001019081156102e057565b919081156141b1576001600160a01b03909216918183029160609190911b600160601b600160e01b0316908204831482821116156141a457612532926138f692820391614133565b63f5c787f15f526004601cfd5b505090565b919081156141b15760601b600160601b600160e01b0316916001600160a01b031690808202826141e68383613349565b14614213575b506141fa6141ff9284613349565b612166565b80820491061515016001600160a01b031690565b83018381106141ec576001600160a01b039361423193919250614133565b1690565b6001600160a01b038116919082036121e05756fe27e098c505d44ec3574004bca052aabf76bd35004c182099d8c575fb238593b91b3d7edb2e9c0b0e7c525b20aaaef0f5940d2ed71663c7d39266ecafac728859c090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab237d4b3164c6e45b97e7d87b7125a44c5828d005af88f9d751cfd78729c5d99a0ba2646970667358221220d236f309c7d48ab782bddb5b20ce88c396ba1409d1ab45c3bebb787c2b17ba0e64736f6c634300081a0033", + "sourceMap": "4791:12821:23:-:0;;;;;;;;;;;;;-1:-1:-1;;4791:12821:23;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;;-1:-1:-1;4791:12821:23;;-1:-1:-1;;;;;;4791:12821:23;;;;;;;;;1075:40:17;-1:-1:-1;;1075:40:17;719:4:22;700:24;;4791:12821:23;;;;;;700:24:22;4791:12821:23;;;;;;;-1:-1:-1;4791:12821:23;;;;;;-1:-1:-1;4791:12821:23;;;;;-1:-1:-1;4791:12821:23", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x60a0806040526004361015610012575f80fd5b5f3560e01c908162fdd58e14611f3a5750806301ffc9a714611ee4578063095bcdb614611e5d5780630b0d9c0914611e0257806311da60b414611dd8578063156e29f614611d535780631e2eaeaf14611d37578063234266d714611b3f5780632d77138914611acd57806335fd631a14611a775780633dd45adb14611a44578063426a8493146119ca57806348c8949114611833578063527596511461178f578063558a7297146116fd578063598af9e7146116a35780635a6bcfda14610dd15780636276cbbe14610b135780637e87ce7d14610a4357806380f0b44c146109c85780638161b874146108fb5780638da5cb5b146108d457806397e8cd4e1461089c5780639bf6645f1461084f578063a5841194146107d5578063b6363cf21461077e578063dbd035ff14610728578063f02de3b214610700578063f135baaa146106e4578063f2fde38b1461066f578063f3cd914c14610407578063f5298aca146102e45763fe99049a14610186575f80fd5b346102e05760803660031901126102e05761019f611f79565b6101a7611f8f565b60443591606435916001600160a01b03909116905f8051602061426a833981519152906102449033841415806102bd575b610252575b835f52600460205260405f20865f5260205260405f206101fe868254612159565b905560018060a01b031693845f52600460205260405f20865f5260205260405f2061022a828254612166565b905560408051338152602081019290925290918291820190565b0390a4602060405160018152f35b5f84815260056020908152604080832033845282528083208984529091529020548560018201610284575b50506101dd565b61028d91612159565b845f52600560205260405f2060018060a01b0333165f5260205260405f20875f5260205260405f20555f8561027d565b505f84815260036020908152604080832033845290915290205460ff16156101d8565b5f80fd5b346102e0576102f236611fa5565b5f8051602061428a8339815191525c156103f8575f8051602061426a8339815191526103705f9360018060a01b03169461033661032e856121ce565b3390886121ef565b6001600160a01b03169233841415806103d6575b610375575b8385526004602052604085208686526020526040852061022a828254612159565b0390a4005b838552600560209081526040808720338852825280872088885290915285205481861982036103a6575b505061034f565b6103af91612159565b8486526005602090815260408088203389528252808820898952909152862055868161039f565b5083855260036020908152604080872033885290915285205460ff161561034a565b6354e3ca0d60e01b5f5260045ffd5b346102e0576101203660031901126102e05761042236612053565b60603660a31901126102e0576040519061043b82611fea565b60a43580151581036102e057825260c435602083019081529060e435906001600160a01b03821682036102e05760408401918252610104356001600160401b0381116102e05761048f9036906004016120da565b9290935f8051602061428a8339815191525c156103f8576104ae612453565b51156106605760a0822092835f52600660205260405f20906104cf82612494565b60808401958482828a600160a01b600190038b5116936104ee946128cc565b90949195606088015160020b908b51151590600160a01b60019003905116916040519861051a8a612005565b895260208901526040880152606087015262ffffff166080860152885115155f149862ffffff610607986105636105f49860209d61064d578a516001600160a01b031695613367565b94929682919261062e575b505060018060a01b03845116938e6001600160801b0360408301511691015160020b90604051958860801d600f0b875288600f0b60208801526040870152606086015260808501521660a08301527f40e9cecb9f5f1f1c5b9c97dec2917b7ee92e57ba5563708daca94dd84ad7112f60c03393a3885187906001600160a01b0316612a39565b8094919461060f575b5050823391612535565b604051908152f35b9051610627916001600160a01b039091169083612535565b84806105fd565b60018060a01b03165f5260018f5260405f209081540190558e8061056e565b8a8e01516001600160a01b031695613367565b63be8b850760e01b5f5260045ffd5b346102e05760203660031901126102e057610688611f79565b5f549061069f336001600160a01b03841614612173565b60018060a01b031680916bffffffffffffffffffffffff60a01b16175f55337f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b346102e05760203660031901126102e0576004355c5f5260205ff35b346102e0575f3660031901126102e0576002546040516001600160a01b039091168152602090f35b346102e05761073636612107565b6040519160408360208152836020820152019160051b8301916020806040850193925b8335548152019101908483821015610775575060208091610759565b60408186030190f35b346102e05760403660031901126102e057610797611f79565b61079f611f8f565b9060018060a01b03165f52600360205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b346102e05760203660031901126102e0576107ee611f79565b6001600160a01b03811690816108125750505f5f8051602061424a8339815191525d005b61081b90612840565b905f8051602061424a8339815191525d7f1e0745a7db1623981f0b2a5d4232364c00787266eb75ad546f190e6cebe9bd955d005b346102e05761085d36612107565b6040519160408360208152836020820152019160051b8301916020806040850193925b83355c8152019101908483821015610775575060208091610880565b346102e05760203660031901126102e0576001600160a01b036108bd611f79565b165f526001602052602060405f2054604051908152f35b346102e0575f3660031901126102e0575f546040516001600160a01b039091168152602090f35b346102e05760603660031901126102e057610914611f79565b61091c611f8f565b600254604435906001600160a01b031633036109b9576001600160a01b03821680151580610999575b61098a5760209361060792806109825750815f526001855260405f20549384925b5f526001865260405f2061097b848254612159565b905561227a565b938492610966565b6318f3cb2960e31b5f5260045ffd5b505f8051602061424a8339815191525c6001600160a01b03168114610945565b6348f5c3ed60e01b5f5260045ffd5b346102e05760403660031901126102e0576109e1611f79565b5f8051602061428a8339815191525c156103f857335f9081526001600160a01b038216602052604090205c610a176024356121ce565b9081600f0b03610a3457610a329133915f03600f0b906121ef565b005b63bda73abf60e01b5f5260045ffd5b346102e05760c03660031901126102e057610a5d36612053565b610a65612041565b6002549091906001600160a01b031633036109b957623e900062fff0008316106103e9610fff8416101615610afb57602060a07fe9c42593e71f84403b84352cd168d693e2c9fcd1fdbcc3feb21d92b43e6696f9922092835f526006825260405f20610ad081612494565b805462ffffff60b81b191660b883901b62ffffff60b81b1617905560405162ffffff919091168152a2005b62ffffff8263a7abe2f760e01b5f521660045260245ffd5b346102e05760c03660031901126102e057610b2d36612053565b60a435906001600160a01b0382168083036102e057610b4a612453565b6060820191825160020b617fff8113610dbf5750825160020b60018112610dad5750805160208201805190916001600160a01b03908116911680821015610d8f575050608082019060018060a01b03825116906040840191610bb262ffffff84511682612772565b15610d7d5750610bc762ffffff835116612823565b83519097906001600160a01b0381169033829003610d2a575b505060a085205f8181526006602052604090208054919290916001600160a01b0316610d1b576020997fdd466e674ea557f56295e2d0218a125ea4b4f0f6f3307b95f85e6110838d643892610c3660a0936130e2565b9162ffffff60d01b9060d01b168a62ffffff851b84861b161717905562ffffff600180841b0389511695600180851b03905116965116995160020b600180841b03885116906040519b8c528c8c015260408b01528860608b015260020b98896080820152a4516001600160a01b0381169033829003610cba575b8585604051908152f35b61100016610cc9575b80610cb0565b610d1292610cf060405193636fe7e6eb60e01b8886015233602486015260448501906124b4565b60e4830152836101048301526101048252610d0d61012483612020565b612b5b565b50828080610cc3565b637983c05160e01b5f5260045ffd5b61200016610d39575b80610be0565b604051636e4c1aa760e11b6020820152336024820152610d7691610d6060448301896124b4565b8860e483015260e48252610d0d61010483612020565b5088610d33565b630732d7b560e51b5f5260045260245ffd5b60449250604051916306e6c98360e41b835260048301526024820152fd5b631d3d20b160e31b5f5260045260245ffd5b6316e0049f60e31b5f5260045260245ffd5b346102e0576101403660031901126102e057610dec36612053565b60803660a31901126102e05760405190610e0582611fcf565b60a4358060020b81036102e057825260c4358060020b81036102e057602083015260e4356040830152610104356060830152610124356001600160401b0381116102e057610e579036906004016120da565b90925f8051602061428a8339815191525c156103f857610e75612453565b60a0832093845f52600660205260405f20608052610e94608051612494565b60808401516001600160a01b03811690338290036115ee575b5050815160020b92602083015160020b91610ecb60408501516125f6565b93606087015160020b9760608201516040519960c08b018b81106001600160401b038211176115da57604052338b528860208c01528660408c015287600f0b60608c015260808b015260a08a01525f91858812156115bc57620d89e71988126115a957620d89e886136115965760405192610f4584611fcf565b5f84525f60208501525f60408501525f606085015287600f0b611373575b600460805101978960020b5f528860205260405f20988860020b5f5260205260405f206080515460a01c60020b8b81125f1461131d575060028060018c0154600184015490039b015491015490039b5b60a0600180821b03825116910151906040519160268301528960068301528b600383015281525f603a600c83012091816040820152816020820152525f5260066080510160205260405f20976001600160801b038954169982600f0b155f146112e1578a156112d25761106061105a60409f9b6111219c6111339e5b60018301956110526002611046848a548503613d76565b95019283548503613d76565b9655556121ce565b916121ce565b6001600160801b03169060801b179a8b965f84600f0b12611264575b5082600f0b611160575b5050506110ac61109d8560801d8360801d016125f6565b9185600f0b90600f0b016125f6565b6001600160801b03169060801b1791815160020b90602083015160020b8c8401516060850151918e5194855260208501528d84015260608301527ff208f4912782fd25c7f114ca3723a2d5dd6f3bcc3ac8db5af63baa85f711d5ec60803393a3608089015189906001600160a01b0316612674565b8094919461113f575b50833391612535565b82519182526020820152f35b608082015161115a916001600160a01b039091169083612535565b8561112a565b6080515492935090916001600160a01b0381169060a01c60020b828112156111b9575050906111ad926111a26111986111a894612cb9565b91600f0b92612cb9565b90613031565b6125f6565b60801b5b8b8080611086565b92809193125f1461123a576111f8916111e56111a86111a8936111df88600f0b91612cb9565b87613031565b936111f386600f0b92612cb9565b612fe6565b6001600160801b03169060801b17906001600160801b0361122560036080510192600f0b82845416613066565b166001600160801b03198254161790556111b1565b906111a892509261125061119861125695612cb9565b90612fe6565b6001600160801b03166111b1565b808f91516112a6575b015161127a575b8e61107c565b6112a18260805160049160020b5f52016020525f6002604082208281558260018201550155565b611274565b6112cd8360805160049160020b5f52016020525f6002604082208281558260018201550155565b61126d565b632bbfae4960e21b5f5260045ffd5b61106061105a60409f9b6111219c6111339e6001600160801b0361130889600f0b83613066565b166001600160801b031984541617835561102f565b90999089136113435760028060018c0154600184015490039b015491015490039b610fb3565b9860026001608051015460018c01549003600183015490039a81806080510154910154900391015490039b610fb3565b6004608051018960020b5f5280602052898960405f206113c381546001600160801b036113a681831695600f0b86613066565b16931594858515141595611562575b508d600f0b9060801d612a13565b60801b82179055602087015285528760020b5f5260205260405f208054906001600160801b0382166113f88b600f0b82613066565b901592836001600160801b03831615141593611535575b8b600f0b9060801d600f0b039160016001607f1b03831360016001607f1b031984121761152157826001600160801b03935060801b83831617905516606086015260408501525f88600f0b12156114aa575b835161148e575b604084015115610f635761148960808c015160020b88600560805101612c6d565b610f63565b6114a560808c015160020b8a600560805101612c6d565b611468565b60808b015160020b6001600160801b03600181602088015116925f81620d89e719071281620d89e719050390620d89e805030181041680911161150e576001600160801b036060860151161115611461578663b8e3c38560e01b5f5260045260245ffd5b8963b8e3c38560e01b5f5260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b6080515460a01c60020b8b1361140f5760016080510154600184015560026080510154600284015561140f565b6080515460a01c60020b1215611579575b8e6113b5565b600160805101546001840155600260805101546002840155611573565b8563035aeeff60e31b5f5260045260245ffd5b8763d5e2f7ab60e01b5f5260045260245ffd5b604488876040519163c4433ed560e01b835260048301526024820152fd5b634e487b7160e01b5f52604160045260245ffd5b5f604085015113808091611696575b1561164457505060405163259982e560e01b602082015261163b91610d0d8261162d8887898c3360248701612590565b03601f198101845283612020565b505b8580610ead565b159081611688575b50611658575b5061163d565b60405163021d0ee760e41b602082015261168191610d0d8261162d8887898c3360248701612590565b5085611652565b61020091501615158761164c565b50610800821615156115fd565b346102e05760603660031901126102e0576116bc611f79565b6116c4611f8f565b6001600160a01b039182165f90815260056020908152604080832094909316825292835281812060443582528352819020549051908152f35b346102e05760403660031901126102e057611716611f79565b602435908115158092036102e057335f52600360205260405f2060018060a01b0382165f5260205260405f2060ff1981541660ff841617905560405191825260018060a01b0316907fceb576d9f15e4e200fdb5096d64d5dfd667e16def20c1eefd14256d8e3faa26760203392a3602060405160018152f35b346102e05760c03660031901126102e0576117a936612053565b6117b1612041565b906280000062ffffff6040830151161480159061181c575b61180d5760a0906117d98361256c565b205f52600660205260405f20906117ef82612494565b815462ffffff60d01b191660d09190911b62ffffff60d01b16179055005b6330d2164160e01b5f5260045ffd5b5060808101516001600160a01b03163314156117c9565b346102e05760203660031901126102e0576004356001600160401b0381116102e0576118639036906004016120da565b5f8051602061428a8339815191525c6119bb576118b0915f9160015f8051602061428a8339815191525d6040516348eeb9a360e11b815260206004820152938492839260248401916121ae565b038183335af19081156119b0575f91611928575b505f805160206142aa8339815191525c6119195760406020915f5f8051602061428a8339815191525d815192839181835280519182918282860152018484015e5f828201840152601f01601f19168101030190f35b635212cba160e01b5f5260045ffd5b90503d805f833e6119398183612020565b8101906020818303126102e0578051906001600160401b0382116102e0570181601f820112156102e0578051906001600160401b0382116115da576040519261198c601f8401601f191660200185612020565b828452602083830101116102e057815f9260208093018386015e83010152816118c4565b6040513d5f823e3d90fd5b6328486b6360e11b5f5260045ffd5b346102e0576119d836611fa5565b9091335f52600560205260405f2060018060a01b0382165f5260205260405f20835f526020528160405f205560405191825260018060a01b0316907fb3fd5071835887567a0671151121894ddccc2842f1d10bedad13e0d17cace9a760203392a4602060405160018152f35b60203660031901126102e057611a58611f79565b5f8051602061428a8339815191525c156103f8576106076020916123bd565b346102e05760403660031901126102e0576024356004356040519160408360208152826020820152019060051b8301916001602060408501935b8354815201910190848382101561077557506020600191611ab1565b346102e05760203660031901126102e057611ae6611f79565b611afa60018060a01b035f54163314612173565b600280546001600160a01b0319166001600160a01b039290921691821790557fb4bd8ef53df690b9943d3318996006dbb82a25f54719d8c8035b516a2a5b8acc5f80a2005b346102e0576101003660031901126102e057611b5a36612053565b60c4359060a43560e4356001600160401b0381116102e057611b809036906004016120da565b9190935f8051602061428a8339815191525c156103f857611b9f612453565b60a0842094855f52600660205260405f2094611bba86612494565b6080810180516001600160a01b0381169033829003611cf8575b50506001600160801b03600388015416978815611ce957602098611bf7876121ce565b5f03611c02876121ce565b5f036001600160801b03169060801b179887611cd5575b86611cc0575b5050611c2c338985612535565b60405190868252858a8301527f29ef05caaff9404b7cb6d1c0e9bbae9eaa7ab2541feba1a9c4248594c08156cb60403393a3516001600160a01b038116939033859003611c7e575b8888604051908152f35b601016611c8c575b80611c74565b611cb495610d0d9361162d9260405197889563e1b4af6960e01b8d88015233602488016124f7565b50828080808080611c86565b600201908660801b0481540190558980611c1f565b60018101828960801b048154019055611c19565b63a74f97ab60e01b5f5260045ffd5b602016611d06575b80611bd4565b604051635b54587d60e11b6020820152611d3091610d0d8261162d8b898b8d8b33602488016124f7565b5088611d00565b346102e05760203660031901126102e057600435545f5260205ff35b346102e057611d6136611fa5565b905f8051602061428a8339815191525c156103f8576001600160a01b0316915f905f8051602061426a8339815191529061037090611dae611da1866121ce565b8503600f0b3390886121ef565b60018060a01b0316938484526004602052604084208685526020526040842061022a828254612166565b5f3660031901126102e0575f8051602061428a8339815191525c156103f8576020610607336123bd565b346102e05760603660031901126102e057611e1b611f79565b611e23611f8f565b604435905f8051602061428a8339815191525c156103f857610a3292611e58611e4b846121ce565b5f03600f0b3390836121ef565b61227a565b346102e057611e6b36611fa5565b9091335f52600460205260405f20835f5260205260405f20611e8e838254612159565b905560018060a01b031690815f52600460205260405f20835f5260205260405f20611eba828254612166565b9055604080513380825260208201939093525f8051602061426a8339815191529181908101610244565b346102e05760203660031901126102e05760043563ffffffff60e01b81168091036102e0576020906301ffc9a760e01b8114908115611f29575b506040519015158152f35b630f632fb360e01b14905082611f1e565b346102e05760403660031901126102e0576020906001600160a01b03611f5e611f79565b165f526004825260405f206024355f52825260405f20548152f35b600435906001600160a01b03821682036102e057565b602435906001600160a01b03821682036102e057565b60609060031901126102e0576004356001600160a01b03811681036102e057906024359060443590565b608081019081106001600160401b038211176115da57604052565b606081019081106001600160401b038211176115da57604052565b60a081019081106001600160401b038211176115da57604052565b90601f801991011681019081106001600160401b038211176115da57604052565b60a4359062ffffff821682036102e057565b60a09060031901126102e0576040519061206c82612005565b816004356001600160a01b03811681036102e05781526024356001600160a01b03811681036102e057602082015260443562ffffff811681036102e05760408201526064358060020b81036102e0576060820152608435906001600160a01b03821682036102e05760800152565b9181601f840112156102e0578235916001600160401b0383116102e057602083818601950101116102e057565b9060206003198301126102e0576004356001600160401b0381116102e057826023820112156102e0578060040135926001600160401b0384116102e05760248460051b830101116102e0576024019190565b9190820391821161152157565b9190820180921161152157565b1561217a57565b60405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606490fd5b908060209392818452848401375f828201840152601f01601f1916010190565b6001607f1b8110156121e057600f0b90565b6393dafdf160e01b5f5260045ffd5b9190600f0b918215612275576001600160a01b039182165f90815291166020526040902061221f815c92836128b1565b80915d61224b57505f195f805160206142aa8339815191525c015f805160206142aa8339815191525d5b565b1561225257565b60015f805160206142aa8339815191525c015f805160206142aa8339815191525d565b505050565b9091906001600160a01b03811690816123085750505f80808093855af11561229f5750565b6040516390bfb86560e01b81526001600160a01b0390911660048201525f602482018190526080604483015260a03d601f01601f191690810160648401523d6084840152903d9060a484013e808201600460a482015260c4633d2cec6f60e21b91015260e40190fd5b60205f604481949682604095865198899363a9059cbb60e01b855260018060a01b0316600485015260248401525af13d15601f3d116001855114161716928281528260208201520152156123595750565b6040516390bfb86560e01b8152600481019190915263a9059cbb60e01b602482015260806044820152601f3d01601f191660a0810160648301523d60848301523d5f60a484013e808201600460a482015260c4633c9fd93960e21b91015260e40190fd5b5f8051602061424a8339815191525c91906001600160a01b0383166123f2576122499034935b6123ec856121ce565b906121ef565b34612444576122499061242e7f1e0745a7db1623981f0b2a5d4232364c00787266eb75ad546f190e6cebe9bd955c61242986612840565b612159565b935f5f8051602061424a8339815191525d6123e3565b635876424f60e11b5f5260045ffd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361248557565b6306c4a1c760e11b5f5260045ffd5b546001600160a01b0316156124a557565b63486aa30760e01b5f5260045ffd5b80516001600160a01b03908116835260208083015182169084015260408083015162ffffff169084015260608083015160020b9084015260809182015116910152565b919261251a6101209461253298969360018060a01b0316855260208501906124b4565b60c083015260e08201528161010082015201916121ae565b90565b9061224992916125538360018060a01b038351168460801d906121ef565b60200151600f9190910b906001600160a01b03166121ef565b62ffffff16620f4240811161257e5750565b631400211360e01b5f5260045260245ffd5b6001600160a01b0390911681526125329492610160926125e891906125b99060208501906124b4565b8051600290810b60c08501526020820151900b60e0840152604081015161010084015260600151610120830152565b8161014082015201916121ae565b9081600f0b9182036121e057565b9261265a9061262b6125329997946101a0979460018060a01b0316875260208701906124b4565b8051600290810b60c08701526020820151900b60e0860152604081015161010086015260600151610120850152565b6101408301526101608201528161018082015201916121ae565b939590919296945f9660018060a01b038616331461276757885f6040870151135f1461270f5761040087166126ad575b50505050505050565b61270297999850926126fb969594926126e1926126ef956040519788966327c18fbf60e21b60208901523360248901612604565b03601f198101835282612020565b6002821615159161308e565b80926130ae565b915f8080808080806126a4565b95949392919061010086166127275750505050505050565b612702979950869850916126e19161275b94936126fb98604051978896633615df3f60e11b60208901523360248901612604565b6001821615159161308e565b505f96505050505050565b608081161580612817575b6127ed5760408116158061280b575b6127ed57610400811615806127ff575b6127ed57610100811615806127f3575b6127ed576001600160a01b0381166127cd575062ffffff1662800000141590565b613fff1615908115916127de575090565b62800000915062ffffff161490565b50505f90565b506001811615156127ac565b5060028116151561279c565b5060048116151561278c565b5060088116151561277d565b6280000062ffffff82161461283b576125328161256c565b505f90565b6001600160a01b03168061285357504790565b6020602491604051928380926370a0823160e01b82523060048301525afa9081156119b0575f91612882575090565b90506020813d6020116128a9575b8161289d60209383612020565b810103126102e0575190565b3d9150612890565b9190915f838201938412911290801582169115161761152157565b6020830151955f958695919491336001600160a01b03851614612a0657608084166128f9575b5050505050565b612971926126e161296b92612957946040519586946315d7892d60e21b602087015233602487015261292e604487018c6124b4565b8051151560e48701526020810151610104870152604001516001600160a01b0316610124860152565b6101406101448501526101648401916121ae565b82612b5b565b9160608351036129f7576040015162ffffff1662800000146129eb575b60081661299f575b808080806128f2565b604001519250608083901d600f0b8015612996576129c0905f8612956128b1565b93156129e3575f84135b6129d4575f612996565b637d05b8eb60e11b5f5260045ffd5b5f84126129ca565b6060820151935061298e565b631e048e1d60e01b5f5260045ffd5b505f965086955050505050565b90600f0b90600f0b019060016001607f1b0319821260016001607f1b0383131761152157565b91969592949293336001600160a01b03841614612b4e578460801d94600f0b938860408516612ad9575b50505050505f9481600f0b15801590612acd575b612a83575b5050509190565b612ab19395505f60208201511290511515145f14612ab9576001600160801b03169060801b175b80936130ae565b5f8080612a7c565b906001600160801b03169060801b17612aaa565b5082600f0b1515612a77565b612b32612b3e946126e16111a895612b44999895612b1761292e9660405197889663b47b2fb160e01b602089015233602489015260448801906124b4565b8c6101448501526101606101648501526101848401916121ae565b6004821615159161308e565b90612a13565b5f80808088612a63565b5050505050909150905f90565b9190918251925f8060208301958682865af115612bc357505060405191601f19603f3d011683016040523d83523d9060208401915f833e6020845110918215612ba7575b50506129f757565b5190516001600160e01b03199182169116141590505f80612b9f565b5183516001600160e01b03198116919060048210612c4d575b50506040516390bfb86560e01b81526001600160a01b0390921660048301526001600160e01b03191660248201526080604482015260a03d601f01601f191690810160648301523d60848301523d5f60a484013e808201600460a482015260c463a9e35b2f60e01b91015260e40190fd5b6001600160e01b031960049290920360031b82901b161690508280612bdc565b919060020b9060020b90818107612c9b5705908160081d5f52602052600160ff60405f2092161b8154189055565b601c906044926040519163d4d8f3e683526020830152604082015201fd5b60020b908160ff1d82810118620d89e88111612fd35763ffffffff9192600182167001fffcb933bd6fad37aa2d162d1a59400102600160801b189160028116612fb7575b60048116612f9b575b60088116612f7f575b60108116612f63575b60208116612f47575b60408116612f2b575b60808116612f0f575b6101008116612ef3575b6102008116612ed7575b6104008116612ebb575b6108008116612e9f575b6110008116612e83575b6120008116612e67575b6140008116612e4b575b6180008116612e2f575b620100008116612e13575b620200008116612df8575b620400008116612ddd575b6208000016612dc4575b5f12612dbc575b0160201c90565b5f1904612db5565b6b048a170391f7dc42444e8fa290910260801c90612dae565b6d2216e584f5fa1ea926041bedfe9890920260801c91612da4565b916e5d6af8dedb81196699c329225ee6040260801c91612d99565b916f09aa508b5b7a84e1c677de54f3e99bc90260801c91612d8e565b916f31be135f97d08fd981231505542fcfa60260801c91612d83565b916f70d869a156d2a1b890bb3df62baf32f70260801c91612d79565b916fa9f746462d870fdf8a65dc1f90e061e50260801c91612d6f565b916fd097f3bdfd2022b8845ad8f792aa58250260801c91612d65565b916fe7159475a2c29b7443b29c7fa6e889d90260801c91612d5b565b916ff3392b0822b70005940c7a398e4b70f30260801c91612d51565b916ff987a7253ac413176f2b074cf7815e540260801c91612d47565b916ffcbe86c7900a88aedcffc83b479aa3a40260801c91612d3d565b916ffe5dee046a99a2a811c461f1969c30530260801c91612d33565b916fff2ea16466c96a3843ec78b326b528610260801c91612d2a565b916fff973b41fa98c081472e6896dfb254c00260801c91612d21565b916fffcb9843d60f6159c9db58835c9266440260801c91612d18565b916fffe5caca7e10e4e61c3624eaa0941cd00260801c91612d0f565b916ffff2e50f5f656932ef12357cf3c7fdcc0260801c91612d06565b916ffff97272373d413259a46990580e213a0260801c91612cfd565b826345c3193d60e11b5f5260045260245ffd5b905f83600f0b125f1461301257613008925f036001600160801b031691613fba565b5f81126121e05790565b613025926001600160801b031691613f7e565b5f81126121e0575f0390565b905f83600f0b125f1461305357613008925f036001600160801b031691614052565b613025926001600160801b031691613fe6565b906001600160801b0390600f0b911601908160801c61308157565b6393dafdf15f526004601cfd5b9061309891612b5b565b901561283b5760408151036129f7576040015190565b6130d1906130c38360801d8260801d036125f6565b92600f0b90600f0b036125f6565b6001600160801b03169060801b1790565b73fffd8963efd1fc6a506488495d951d51639616826401000276a21982016001600160a01b03161161332957602081901b640100000000600160c01b03168060ff61312c826140b0565b16916080831061331d5750607e1982011c5b800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c80029081607f1c8260ff1c1c80029283607f1c8460ff1c1c80029485607f1c8660ff1c1c80029687607f1c8860ff1c1c80029889607f1c8a60ff1c1c80029a8b607f1c8c60ff1c1c80029c8d80607f1c9060ff1c1c800260cd1c6604000000000000169d60cc1c6608000000000000169c60cb1c6610000000000000169b60ca1c6620000000000000169a60c91c6640000000000000169960c81c6680000000000000169860c71c670100000000000000169760c61c670200000000000000169660c51c670400000000000000169560c41c670800000000000000169460c31c671000000000000000169360c21c672000000000000000169260c11c674000000000000000169160c01c6780000000000000001690607f190160401b1717171717171717171717171717693627a301d71055774c85026f028f6481ab7f045a5af012a19d003aa919810160801d60020b906fdb2df09e81959a81455e260799a0632f0160801d60020b918282145f146132f95750905090565b6001600160a01b039081169061330e84612cb9565b1611613318575090565b905090565b905081607f031b61313e565b6318521d4960e21b5f9081526001600160a01b0391909116600452602490fd5b8115613353570490565b634e487b7160e01b5f52601260045260245ffd5b6040519290915f61337785611fea565b5f855260208501925f845260408601955f875280968654956040860151159586155f14613d6857610fff8860b81c16945b81516001600160a01b038a1680875260a08b901c60020b90945260038b01546001600160801b031690945260808201515f94939062400000811615613d595762bfffff166133f58161256c565b61ffff8816613d3e575b8096620f424062ffffff83161015613d26575b845115613d1057505088613cc8576060830180519091906001600160a01b031681811015613caa575050516001600160a01b03166401000276a3811115613c9857505b604051986101008a018a81106001600160401b038211176115da576040525f8a525f60208b01525f60408b01525f60608b01525f60808b01525f60a08b01525f60c08b015288155f14613c8a5760018b0154949390945b60e08b01525b80158015613c6f575b613b845760018060a01b038c51168a528a60208d015160020b602085015160020b90815f818307129105038b155f14613a9157600560ff8216938260020b60081d60010b5f520160205260405f205f198460ff031c9054169283151593845f14613a7f579061352b60ff926140b0565b90031660020b900360020b0260020b5b905b151560408c015260020b8060208c0152620d89e7191215613a70575b620d89e860208b015160020b1215613a62575b858c8b8b6001600160801b0360406001808060a01b03613592602087015160020b612cb9565b16806060870152818060a01b0387511694828060a01b0360608d01511692839115168183101891180218940151169060018060a01b038416811015915f87125f1461393c5762ffffff8616620f4240036135ee81895f03613dbf565b95841561392b57613600838583613fe6565b965b87811061388857509660c093929188919062ffffff8216620f424003613874575050865b945b15613866579161363792613fba565b925b015260a08d015260808c01526001600160a01b03168c5282515f12156138365760a08a0151905f82126121e057039261367b60808b015160c08c015190612166565b5f81126121e057810390811360011661152157935b61ffff87166137ee575b6001600160801b0360408d015116806137d4575b508b5160608b01516001600160a01b03918216911681036137a5575060408a0151613705575b886136f8575f1960208b015160020b0160020b5b60020b60208d01525b93926134b2565b60208a015160020b6136e8565b88613782576001600160801b036137698d8d8d600460e08201519260206002820154935b015160020b60020b5f520160205260405f2091600183019081549003905560028201908154900390555460801d908c15613774575b604001518316613066565b1660408d01526136d4565b5f91909103600f0b9061375e565b6001600160801b036137698d8d8d6004600183015492602060e084015193613729565b8a516001600160a01b031681036137bd575b506136f1565b6137c6906130e2565b60020b60208d01525f6137b7565b60c08b015160801b0460e08b01510160e08b01525f6136ae565b9662ffffff861661ffff8816036138195760c08a0151905b8160c08c01510360c08c0152019661369a565b620f424060808b015161ffff89169060c08d015101020490613806565b60808a015160c08b015101905f82126121e057019260a08a01515f81126121e057613860916128b1565b93613690565b61386f92614052565b613637565b62ffffff613883921689614133565b613626565b97505050935091508392801583151761391e578e9260c09183156138bd576138b18782846141b6565b809789015f0394613628565b6001600160a01b038711613900576138fb6138f66138e76001600160801b0384168a60601b613349565b6001600160a01b038516612166565b614235565b6138b1565b6138fb6138f66139196001600160801b0384168a613e74565b6138e7565b634f2461b85f526004601cfd5b613936838286613f7e565b96613602565b91945091508315613a5157613952818385613fba565b925b83861061399e5780945b1561398f579161396d92613fe6565b905b8c60c061398962ffffff8c16620f42408190039086614133565b91613639565b61399892613f7e565b9061396f565b50849250811581151761391e578315613a41576001600160a01b038511613a09578460601b6001600160801b03821680820615159104015b6001600160a01b03831690808211156139fc5790036001600160a01b03165b809461395e565b634323a5555f526004601cfd5b6001600160801b038116613a2281600160601b88613efe565b90801561335357600160601b8709156139d657600101806139d6575f80fd5b613a4c85828461415c565b6139f5565b613a5c818484614052565b92613954565b620d89e860208b015261356c565b620d89e71960208b0152613559565b5060020b900360020b0260020b61353b565b6001018060020b9060058160ff16948360081d60010b5f520160205260405f2090600160ff5f1992161b0119905416801593841594855f14613b6c576102e0578160ff925f03167e1f0d1e100c1d070f090b19131c1706010e11080a1a141802121b1503160405601f6101e07f804040554300526644320000502061067405302602000010750620017611707760fc7fb6db6db6ddddddddd34d34d349249249210842108c6318c639ce739cffffffff860260f81c161b60f71c1692831c63d76453e004161a17031660020b0160020b0260020b5b9061353d565b5060ff809250031660020b0160020b0260020b613b66565b949891955099969298919598602088015160a01b62ffffff60a01b1660018060a01b038951169168ffffffffffffffffff60b81b16171782556001600160801b036003830154166001600160801b03604089015116809103613c4b575b508215613c3c5760e060029101519101555b825190155f821214613c265750613c0d613c1592936125f6565b9251036125f6565b6001600160801b03169060801b1793565b613c15925090613c3691036125f6565b916125f6565b60e06001910151910155613bf3565b6001600160801b03166001600160801b03196003840154161760038301555f613be1565b508b5160608401516001600160a01b039081169116146134bb565b60028b0154949390946134ac565b639e4d7cc760e01b5f5260045260245ffd5b6044925060405191637c9c6e8f60e01b835260048301526024820152fd5b6060830180519091906001600160a01b031681811115613caa575050516001600160a01b031673fffd8963efd1fc6a506488495d951d5263988d26811015613c985750613455565b9a509a50509950505050505050505f925f929190565b5f8551131561341257634b10312360e11b5f5260045ffd5b62ffffff610fff89169116620f4240818302049101036133ff565b508960d01c62ffffff166133f5565b610fff8860c41c16946133a8565b81810291905f1982820991838084109303928084039384600160801b11156102e05714613db657600160801b910990828211900360801b910360801c1790565b50505060801c90565b808202905f1983820990828083109203918083039283620f424011156102e05714613e1f577fde8f6cefed634549b62c77574f722e1ac57e23f24d8fd5cb790fb65668c2613993620f4240910990828211900360fa1b910360061c170290565b5050620f424091500490565b81810291905f1982820991838084109303928084039384600160601b11156102e05714613e6b57600160601b910990828211900360a01b910360601c1790565b50505060601c90565b90606082901b905f19600160601b8409928280851094039380850394858411156102e05714613ef7578190600160601b900981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b5091500490565b91818302915f19818509938380861095039480860395868511156102e05714613f76579082910981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b505091500490565b6001600160a01b0391821691160360ff81901d90810118906001906001600160801b0316613fac8382613e2b565b928260601b91091515160190565b612532926001600160a01b03928316919092160360ff81901d90810118906001600160801b0316613e2b565b6001600160a01b038281169082161161404c575b6001600160a01b03811692831561404057614034926001600160a01b0380821693909103169060601b600160601b600160e01b0316614133565b90808206151591040190565b62bfc9215f526004601cfd5b90613ffa565b906001600160a01b03808216908316116140aa575b6001600160a01b03821691821561404057612532936140a5926001600160a01b0380821693909103169060601b600160601b600160e01b0316613efe565b613349565b90614067565b80156102e0577f07060605060205000602030205040001060502050303040105050304000000006f8421084210842108cc6318c6db6d54be826001600160801b031060071b83811c6001600160401b031060061b1783811c63ffffffff1060051b1783811c61ffff1060041b1783811c60ff1060031b1792831c1c601f161a1790565b929190614141828286613efe565b938215613353570961414f57565b906001019081156102e057565b919081156141b1576001600160a01b03909216918183029160609190911b600160601b600160e01b0316908204831482821116156141a457612532926138f692820391614133565b63f5c787f15f526004601cfd5b505090565b919081156141b15760601b600160601b600160e01b0316916001600160a01b031690808202826141e68383613349565b14614213575b506141fa6141ff9284613349565b612166565b80820491061515016001600160a01b031690565b83018381106141ec576001600160a01b039361423193919250614133565b1690565b6001600160a01b038116919082036121e05756fe27e098c505d44ec3574004bca052aabf76bd35004c182099d8c575fb238593b91b3d7edb2e9c0b0e7c525b20aaaef0f5940d2ed71663c7d39266ecafac728859c090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab237d4b3164c6e45b97e7d87b7125a44c5828d005af88f9d751cfd78729c5d99a0ba2646970667358221220d236f309c7d48ab782bddb5b20ce88c396ba1409d1ab45c3bebb787c2b17ba0e64736f6c634300081a0033", + "sourceMap": "4791:12821:23:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6570:13;4791:12821;6570:13;;;4791:12821;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4791:12821:23;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;-1:-1:-1;;;;;;;;;;;1928:50:18;;;1594:10;:20;;;;:55;;4791:12821:23;1590:237:18;;4791:12821:23;;;;;;;;;;;;;;;;;;1837:31:18;4791:12821:23;;;1837:31:18;:::i;:::-;4791:12821:23;;;;;;;;;;;;;;;;;;;;;;;;;;1879:33:18;4791:12821:23;;;1879:33:18;:::i;:::-;4791:12821:23;;;;;1594:10:18;4791:12821:23;;;;;;;;;;;;;;;;;1928:50:18;;;;4791:12821:23;;;;;;;1590:237:18;4791:12821:23;;;;1683:9:18;4791:12821:23;;;;;;;;1594:10:18;4791:12821:23;;;;;;;;;;;;;;;;800:17:19;4791:12821:23;1734:28:18;;1730:86;;1590:237;;;;;1730:86;1800:16;;;:::i;:::-;4791:12821:23;;;1683:9:18;4791:12821:23;;;;;;;;;;1594:10:18;4791:12821:23;-1:-1:-1;4791:12821:23;;;;-1:-1:-1;4791:12821:23;;;;;;;;;;1730:86:18;;;;1594:55;-1:-1:-1;4791:12821:23;;;;1619:10:18;4791:12821:23;;;;;;;;1594:10:18;4791:12821:23;;;;;;;;;;1618:31:18;1594:55;;4791:12821:23;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;837:84:43;5429:18:23;5425:59;;-1:-1:-1;;;;;;;;;;;3435:52:18;4791:12821:23;;;;;;;;15066:17;15085:10;15066:17;;;:::i;:::-;15085:10;;;;:::i;:::-;-1:-1:-1;;;;;4791:12821:23;;15085:10;651:14:19;;;;:43;;4791:12821:23;647:269:19;;4791:12821:23;;;;;;;;;;;;;;;;;;3388:31:18;4791:12821:23;;;3388:31:18;:::i;3435:52::-;;;;4791:12821:23;647:269:19;4791:12821:23;;;736:9:19;4791:12821:23;;;;;;;;15085:10;4791:12821;;;;;;;;;;;;;;;;800:17:19;;;781:36;;777:129;;647:269;;;;;777:129;867:24;;;:::i;:::-;4791:12821:23;;;736:9:19;4791:12821:23;;;;;;;;15085:10;4791:12821;;;;;;;;;;;;;;;;777:129:19;;;;651:43;-1:-1:-1;4791:12821:23;;;670:10:19;4791:12821:23;;;;;;;;15085:10;4791:12821;;;;;;;;;;669:25:19;651:43;;5425:59:23;5449:22;;;4791:12821;814:96:36;4791:12821:23;;814:96:36;4791:12821:23;;;;;;-1:-1:-1;;4791:12821:23;;;;;;;:::i;:::-;;;-1:-1:-1;;4791:12821:23;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;;;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;;;;;:::i;:::-;837:84:43;;;-1:-1:-1;;;;;;;;;;;837:84:43;5429:18:23;5425:59;;1169:76:22;;:::i;:::-;4791:12821:23;9594:27;9590:77;;4791:12821;357:173:58;;4791:12821:23;;;;17402:6;4791:12821;;;;;9757:25;;;;:::i;:::-;9966:9;;;4791:12821;;;;;;;;;;;;;;9966:43;;;;:::i;:::-;10285:15;;;;4791:12821;10285:15;;4791:12821;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10234:302;;4791:12821;;10234:302;;4791:12821;;10234:302;;4791:12821;;;9966:9;10234:302;;4791:12821;;;;;10554:49;;;4791:12821;11053:10;10554:49;11470:17;10710:70;10554:49;4791:12821;10554:49;;;5241:25;;-1:-1:-1;;;;;4791:12821:23;;11470:17;:::i;:::-;11546:20;;;;;;11542:78;;10554:49;4791:12821;;;;;;;;;;11884:16;;-1:-1:-1;;;;;4791:12821:23;11884:16;;4791:12821;;11914:11;;4791:12821;;;;;;2052:83:55;;9966:9:23;2052:83:55;2241:89;4791:12821:23;;;2241:89:55;;;4791:12821:23;;;;;;;;;;;;9966:9;4791:12821;;;;;;;5241:25;11735:221;4791:12821;11769:10;11735:221;;4791:12821;;;;-1:-1:-1;;;;;4791:12821:23;10710:70;:::i;:::-;1676:48:55;;;;10892:109:23;;10554:49;11769:10;;;;11053;;:::i;:::-;4791:12821;;;;;;10892:109;4791:12821;;10982:18;;-1:-1:-1;;;;;4791:12821:23;;;;10982:18;;:::i;:::-;10892:109;;;;11542:78;4791:12821;;;;;;;;;;;;;;;;;258:35:37;4791:12821:23;;11542:78;;;;10554:49;10590:13;;;5241:25;-1:-1:-1;;;;;4791:12821:23;;11470:17;:::i;9590:77::-;9623:31;;;4791:12821;814:96:36;4791:12821:23;;814:96:36;4791:12821:23;;;;;;-1:-1:-1;;4791:12821:23;;;;;;:::i;:::-;;;;756:44:17;764:10;-1:-1:-1;;;;;4791:12821:23;;764:19:17;756:44;:::i;:::-;4791:12821:23;;;;;;;;;;;;;;;764:10:17;1424:42;4791:12821:23;1424:42:17;;4791:12821:23;;;;;;;-1:-1:-1;;4791:12821:23;;;;;;422:99:21;4791:12821:23;422:99:21;4791:12821:23;;422:99:21;4791:12821:23;;;;;;-1:-1:-1;;4791:12821:23;;;;931:36:24;4791:12821:23;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;;;;;;;;;:::i;:::-;;1664:936:20;;4791:12821:23;1664:936:20;;;;;;;;;;;;;;;;;;4791:12821:23;1664:936:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;4791:12821:23;1664:936:20;;;;;;4791:12821:23;;;;;;-1:-1:-1;;4791:12821:23;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;697:88:18;4791:12821:23;;;;;697:88:18;4791:12821:23;;;;;;-1:-1:-1;4791:12821:23;;;;;;-1:-1:-1;4791:12821:23;;;;;;;;;;;;;;;;;-1:-1:-1;;4791:12821:23;;;;;;:::i;:::-;-1:-1:-1;;;;;4791:12821:23;;;4998:58:57;12906:24:23;;766:73:35;;4791:12821:23;-1:-1:-1;;;;;;;;;;;766:73:35;4791:12821:23;12902:341;13135:24;;;:::i;:::-;937:173:35;-1:-1:-1;;;;;;;;;;;937:173:35;;;4791:12821:23;;;;;;;;:::i;:::-;;658:936:21;;4791:12821:23;658:936:21;;;;;;;;;;;;;;;;;;4791:12821:23;658:936:21;;;;;;;;;;;;;;;;;;;;;;;;;;;4791:12821:23;;;;;;-1:-1:-1;;4791:12821:23;;;;-1:-1:-1;;;;;4791:12821:23;;:::i;:::-;;;;819:71:24;4791:12821:23;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4791:12821:23;;;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;;;;;;;;-1:-1:-1;;4791:12821:23;;;;;;:::i;:::-;;;:::i;:::-;1917:21:24;4791:12821:23;;;;-1:-1:-1;;;;;4791:12821:23;1903:10:24;:35;1899:76;;-1:-1:-1;;;;;4791:12821:23;;4998:58:57;;1989:25:24;;:77;;4791:12821:23;1985:257:24;;4791:12821:23;;2421:15:24;;2271:11;;;4791:12821:23;;;;;;;;;;;2270:54:24;;;;4791:12821:23;;;;;;;;2334:48:24;4791:12821:23;;;2334:48:24;:::i;:::-;4791:12821:23;;2421:15:24;:::i;2270:54::-;;;;;;1985:257;2184:34;;;4791:12821:23;814:96:36;4791:12821:23;;814:96:36;1989:77:24;-1:-1:-1;;;;;;;;;;;;629:81:35;-1:-1:-1;;;;;4791:12821:23;448:51:57;;1989:77:24;;1899:76;1416:22;;;4791:12821:23;814:96:36;4791:12821:23;;814:96:36;4791:12821:23;;;;;;-1:-1:-1;;4791:12821:23;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;837:84:43;5429:18:23;5425:59;;14072:10;547:238:34;;;;-1:-1:-1;;;;;547:238:34;;;;;;;956:73;14191:17:23;4791:12821;;14191:17;:::i;:::-;4791:12821;;;;14222:22;14218:77;;14429:10;14072;;4791:12821;;;;;14429:10;;:::i;:::-;4791:12821;14218:77;14246:36;;;4791:12821;814:96:36;4791:12821:23;;814:96:36;4791:12821:23;;;;;;-1:-1:-1;;4791:12821:23;;;;;;;:::i;:::-;;;:::i;:::-;1393:21:24;4791:12821:23;;;;-1:-1:-1;;;;;4791:12821:23;1379:10:24;:35;1375:76;;1088:252:48;;;;;;;;;;;1465:36:24;1461:97;;4791:12821:23;;1658:38:24;357:173:58;;4791:12821:23;;;;17402:6;4791:12821;;;;;5072:25:46;;;:::i;:::-;4791:12821:23;;-1:-1:-1;;;;2855:254:61;;;;;-1:-1:-1;;;2855:254:61;;4791:12821:23;;;;;;;;;5241:25;;1658:38:24;4791:12821:23;1461:97:24;4791:12821:23;1503:28:24;;;;4791:12821:23;1084:176:36;4791:12821:23;;1084:176:36;;4791:12821:23;1084:176:36;4791:12821:23;;;;;;-1:-1:-1;;4791:12821:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;1169:76:22;;:::i;:::-;6341:15:23;;;4791:12821;;;;;1676:15:53;6341:34:23;;6337:96;;4791:12821;;;;;;6447:34;;6443:96;;-1:-1:-1;5241:25:23;;6570:13;;;5241:25;;6570:13;;-1:-1:-1;;;;;4791:12821:23;;;;;887:51:57;;;;6549:202:23;;6765:9;;;;;4791:12821;;;;;;;;;6794:7;4791:12821;6794:7;;4791:12821;6765:37;4791:12821;;;;6765:37;;:::i;:::-;6764:38;6760:109;;4791:12821;6895:25;4791:12821;;;;6895:25;:::i;:::-;4791:12821;;;;;-1:-1:-1;;;;;4791:12821:23;;;8814:10:40;:27;;;8810:59;;4791:12821:23;-1:-1:-1;;4791:12821:23;357:173:58;;4791:12821:23;;;;7027:6;6570:13;4791:12821;;;;;;357:173:58;;4791:12821:23;;-1:-1:-1;;;;;1502:93:61;4665:80:46;;6570:13:23;4763:41:46;7393:101:23;4763:41:46;;4791:12821:23;4763:41:46;;:::i;:::-;3217:178:61;4791:12821:23;3217:178:61;;;;;;2578:157;4791:12821:23;2578:157:61;;;;;;3217:178;;4791:12821:23;;;;;;;;5241:25;;4791:12821;;;;;;;5241:25;;4791:12821;;;;;;;;;;;;;;;;;;;5241:25;;;;;;4791:12821;;5241:25;;;;6341:15;5241:25;;4791:12821;;;5241:25;;6765:9;5241:25;;4791:12821;7393:101;4791:12821;-1:-1:-1;;;;;4791:12821:23;;;8814:10:40;:27;;;8810:59;;4791:12821:23;;;;;;;;;8810:59:40;4791:12821:23;16467:29:40;9491:164;;8810:59;;;;9491:164;9552:92;4791:12821:23;1460:7:40;4791:12821:23;;9566:77:40;;;;;;;;8814:10;9566:77;;;4791:12821:23;1460:7:40;;;;;:::i;:::-;;;;4791:12821:23;1460:7:40;;;;4791:12821:23;1460:7:40;9566:77;;;;;;:::i;:::-;9552:92;:::i;:::-;;9491:164;;;;;4665:80:46;4701:31;;;4791:12821:23;814:96:36;4791:12821:23;;814:96:36;8810:59:40;4791:12821:23;16467:29:40;9085:160;;8810:59;;;;9085:160;4791:12821:23;;-1:-1:-1;;;6570:13:23;9161:72:40;;;8814:10;9161:72;;;4791:12821:23;9147:87:40;;1397:7;;;;;;:::i;:::-;;;;;4791:12821:23;1397:7:40;9161:72;;;;;;:::i;9147:87::-;;9085:160;;;6760:109:23;6804:34;;;4791:12821;1084:176:36;4791:12821:23;1084:176:36;;4791:12821:23;1084:176:36;6549:202:23;3008:319:36;;;4791:12821:23;3008:319:36;6599:36:23;;;;3008:319:36;;4791:12821:23;3008:319:36;;;;;;;;6443:96:23;6483:28;;;4791:12821;1431:143:36;4791:12821:23;1431:143:36;;4791:12821:23;1431:143:36;6337:96:23;6377:28;;;4791:12821;1431:143:36;4791:12821:23;1431:143:36;;4791:12821:23;1431:143:36;4791:12821:23;;;;;;-1:-1:-1;;4791:12821:23;;;;;;;:::i;:::-;;;-1:-1:-1;;4791:12821:23;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;;;;;:::i;:::-;837:84:43;;-1:-1:-1;;;;;;;;;;;837:84:43;5429:18:23;5425:59;;1169:76:22;;:::i;:::-;4791:12821:23;357:173:58;;4791:12821:23;;;;17402:6;4791:12821;;;;;;;7954:25;;;;:::i;:::-;4791:12821;7996:9;;4791:12821;-1:-1:-1;;;;;4791:12821:23;;;8814:10:40;:27;;;8810:59;;4791:12821:23;;;;;;;;;;;;;;;8378:32;4791:12821;;;;8378:32;:::i;:::-;8445:15;4791:12821;8445:15;;4791:12821;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;8814:10:40;4791:12821:23;;8176:342;4791:12821;8176:342;;4791:12821;8176:342;4791:12821;8176:342;;4791:12821;;;;;8176:342;;4791:12821;;8176:342;;4791:12821;;8176:342;;4791:12821;;4263:22:46;;;;;4259:85;;-1:-1:-1;;4358:29:46;;4354:86;;1317:6:53;4454:29:46;;4450:86;;4791:12821:23;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;6884:1188:46;;4791:12821:23;;23528:10:46;;;:21;4791:12821:23;;;;;;;;;;;23584:21:46;4791:12821:23;;;;;;;;;;23635:10:46;;4791:12821:23;;1682:98:61;4791:12821:23;1682:98:61;23691:23:46;;;23687:800;23691:23;;;23757:27;4791:12821:23;23757:27:46;4791:12821:23;23757:27:46;;4791:12821:23;;23787:27:46;;4791:12821:23;;;23855:27:46;;4791:12821:23;23885:27:46;;4791:12821:23;;;23687:800:46;;4791:12821:23;;;;;;5241:25;;4791:12821;8176:342;;4791:12821;2447:609:47;4791:12821:23;2447:609:47;;;;;;;17402:6:23;2447:609:47;;;;;;;;;;4791:12821:23;2447:609:47;;;;;;;4791:12821:23;2447:609:47;;;;4791:12821:23;2447:609:47;;;;4791:12821:23;;17402:6;8286:14:46;;;4791:12821:23;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;6888:19:46;3970:270:47;4791:12821:23;;;4069:14:47;;4065:67;;8645:20:46;8623;4791:12821:23;3970:270:47;;8974:79:23;3970:270:47;9328:10:23;3970:270:47;;4791:12821:23;4434:29:47;;4791:12821:23;4537:100:47;4791:12821:23;4395:100:47;4791:12821:23;;;;;4395:100:47;:::i;:::-;4576:29;;4791:12821:23;;;;;4537:100:47;:::i;:::-;4791:12821:23;;;8623:20:46;:::i;:::-;8645;;:::i;:::-;-1:-1:-1;;;;;553:115:55;;4791:12821:23;553:115:55;;4791:12821:23;;;;;;;8759:18:46;8755:255;;3970:270:47;4791:12821:23;;;;9030:1774:46;;3970:270:47;785:220:55;;;1049:15;1032;785:220;4791:12821:23;785:220:55;;4791:12821:23;785:220:55;;1032:15;:::i;:::-;785:220;;4791:12821:23;785:220:55;;4791:12821:23;785:220:55;;1049:15;:::i;:::-;-1:-1:-1;;;;;553:115:55;;4791:12821:23;553:115:55;;4791:12821:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8801:103;4791:12821;8814:10:40;8801:103:23;;4791:12821;7996:9;;4791:12821;;;-1:-1:-1;;;;;4791:12821:23;8974:79;:::i;:::-;1676:48:55;;;;9165:109:23;;3970:270:47;8814:10:40;;;9328::23;;:::i;:::-;4791:12821;;;;;;;;;;9165:109;4791:12821;7996:9;;4791:12821;9255:18;;-1:-1:-1;;;;;4791:12821:23;;;;7996:9;9255:18;:::i;:::-;9165:109;;;9030:1774:46;9084:10;;4791:12821:23;9084:10:46;;-1:-1:-1;9084:10:46;;-1:-1:-1;;;;;1502:93:61;;;4791:12821:23;1682:98:61;4791:12821:23;1682:98:61;9201:16:46;;;;;;9568:38;;;9513:182;9568:38;9608;9568;9513:171;9568:38;;:::i;:::-;4791:12821:23;;;9608:38:46;;:::i;:::-;9513:171;;:::i;:::-;:182;:::i;:::-;4791:12821:23;553:115:55;9197:1597:46;9030:1774;;;;;9197:1597;9761:16;;;;;9757:1037;4791:12821:23;;;9998:135:46;4791:12821:23;9841:135:46;:99;9998;4791:12821:23;9885:38:46;4791:12821:23;;;9885:38:46;;:::i;:::-;9841:99;;:::i;:135::-;4791:12821:23;10028:38:46;4791:12821:23;;;10028:38:46;;:::i;:::-;9998:99;:::i;:135::-;-1:-1:-1;;;;;553:115:55;;4791:12821:23;553:115:55;;10210:14:46;-1:-1:-1;;;;;10187:54:46;2447:609:47;10210:14:46;;;4791:12821:23;;;;;;;10187:54:46;:::i;:::-;4791:12821:23;-1:-1:-1;;;;;4791:12821:23;;;;;;;9197:1597:46;;9757:1037;10634:38;10579:171;10634:38;;;10674;10634;10579:182;10634:38;;:::i;10674:::-;10579:171;;:::i;:182::-;-1:-1:-1;;;;;553:115:55;9197:1597:46;;8755:255;4791:12821:23;;;;8797:91:46;;8755:255;4791:12821:23;;8905:91:46;;8755:255;;;;8905:91;8967:9;;;;29012:10;28935:100;4791:12821:23;;-1:-1:-1;4791:12821:23;29012:10:46;4791:12821:23;;29005:23:46;4791:12821:23;;;;;;;;;;;;;;28935:100:46;8967:9;8905:91;;8797;8859:9;;;;29012:10;28935:100;4791:12821:23;;-1:-1:-1;4791:12821:23;29012:10:46;4791:12821:23;;29005:23:46;4791:12821:23;;;;;;;;;;;;;;28935:100:46;8859:9;8797:91;;4065:67:47;4085:34;;;4791:12821:23;814:96:36;4791:12821:23;;814:96:36;3970:270:47;8645:20:46;8623;4791:12821:23;;;8974:79;4791:12821;9328:10;4791:12821;-1:-1:-1;;;;;4180:49:47;4791:12821:23;;;4180:49:47;;:::i;:::-;4791:12821:23;-1:-1:-1;;;;;4791:12821:23;;;;;;;3970:270:47;;23687:800:46;23937:24;;;;-1:-1:-1;4791:12821:23;;;24004:27:46;4791:12821:23;24004:27:46;;4791:12821:23;;24034:27:46;;4791:12821:23;;;24102:27:46;;4791:12821:23;24132:27:46;;4791:12821:23;;;23933:554:46;23687:800;;23933:554;24241:25;4791:12821:23;;24241:25:46;;;4791:12821:23;;24269:27:46;;4791:12821:23;;;;24299:27:46;;4791:12821:23;;;24387:25:46;;;;;;4791:12821:23;24415:27:46;;4791:12821:23;;;24445:27:46;;4791:12821:23;;;23933:554:46;23687:800;;6884:1188;4791:12821:23;25443:10:46;;;4791:12821:23;;;;;;;;;;;;;26390:35:46;4791:12821:23;;-1:-1:-1;;;;;25608:60:46;4791:12821:23;;;;;;25608:60:46;;:::i;:::-;4791:12821:23;25720:25:46;;25690:24;;;;25689:57;;25757:357;;;6884:1188;26344:81;4791:12821:23;;;;;;26390:35:46;:::i;:::-;4791:12821:23;26435:730:46;;;;;4791:12821:23;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4791:12821:23;;25608:60:46;4791:12821:23;;;25608:60:46;;:::i;:::-;25720:25;;4791:12821:23;;-1:-1:-1;;;;;4791:12821:23;;25690:24:46;25689:57;;25757:357;;;6884:1188;4791:12821:23;;;;;;;;;;-1:-1:-1;;;;;4791:12821:23;;-1:-1:-1;;;;;4791:12821:23;;;;;;26344:81:46;-1:-1:-1;;;;;26344:81:46;26435:730;4791:12821:23;26435:730:46;4791:12821:23;;;26435:730:46;;;4791:12821:23;;;;;;;;;;;;;7279:19:46;;7275:508;;6884:1188;4791:12821:23;;7801:120:46;;6884:1188;4791:12821:23;;;;7938:120:46;6884:1188;7938:120;8020:18;4791:12821:23;8176:342;;4791:12821;;;7984:15:46;;;;;8020:18;:::i;:::-;6884:1188;;7801:120;7883:18;4791:12821:23;8176:342;;4791:12821;;;7847:15:46;;;;;7883:18;:::i;:::-;7801:120;;7275:508;4791:12821:23;8176:342;;4791:12821;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;1032:7:53;4791:12821:23;1032:7:53;;;28155:357:46;;1032:7:53;;;28155:357:46;;;1317:6:53;28155:357:46;;;;;4791:12821:23;7430:52:46;;;7426:159;;-1:-1:-1;;;;;4791:12821:23;;;;;7610:52:46;7606:159;7275:508;7606:159;7510:30;;;;4791:12821:23;1431:143:36;4791:12821:23;1431:143:36;;4791:12821:23;1431:143:36;7426:159:46;7510:30;;;;4791:12821:23;1431:143:36;4791:12821:23;1431:143:36;;4791:12821:23;1431:143:36;4791:12821:23;;;;;;;;;;;;25757:357:46;25926:10;;4791:12821:23;;1682:98:61;4791:12821:23;1682:98:61;25918:25:46;;25757:357;25914:190;4791:12821:23;25992:25:46;;;4791:12821:23;;25963:26:46;;4791:12821:23;;26064:25:46;;;4791:12821:23;;26035:26:46;;4791:12821:23;25757:357:46;;;25926:10;;4791:12821:23;;1682:98:61;4791:12821:23;1682:98:61;-1:-1:-1;25918:25:46;25914:190;;25757:357;;;;25914:190;4791:12821:23;25992:25:46;;;4791:12821:23;;25963:26:46;;4791:12821:23;;26064:25:46;;;4791:12821:23;;26035:26:46;;4791:12821:23;25914:190:46;;4450:86;4485:29;;;;4791:12821:23;1431:143:36;4791:12821:23;1431:143:36;;4791:12821:23;1431:143:36;4354:86:46;4389:29;;;;4791:12821:23;1431:143:36;4791:12821:23;1431:143:36;;4791:12821:23;1431:143:36;4259:85:46;2092:251:36;;;4791:12821:23;2092:251:36;4287:24:46;;;;2092:251:36;;4791:12821:23;2092:251:36;;;;;;;;4791:12821:23;;;;;;;;;;;;8810:59:40;4791:12821:23;;;;;9963:25:40;;;:74;;;8810:59;9959:409;;;-1:-1:-1;;4791:12821:23;;-1:-1:-1;;;4791:12821:23;10067:78:40;;;10053:93;;10067:78;4791:12821:23;10067:78:40;8814:10;;;;;10067:78;;;;:::i;:::-;;15838:82;;10067:78;;;;;;:::i;10053:93::-;;9959:409;8810:59;;;;9959:409;10167:26;:78;;;;9959:409;10163:205;;;9959:409;;;;10163:205;4791:12821:23;;-1:-1:-1;;;4791:12821:23;10275:81:40;;;10261:96;;10275:81;4791:12821:23;10275:81:40;8814:10;;;;;10275:81;;;;:::i;10261:96::-;;10163:205;;;10167:78;4791:12821:23;10197:48:40;;16467:29;:34;;10167:78;;;9963:74;9992:45;4791:12821:23;16467:29:40;;:34;;9963:74;;4791:12821:23;;;;;;-1:-1:-1;;4791:12821:23;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;4791:12821:23;;;;;;;880:108:18;4791:12821:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4791:12821:23;;;;;;:::i;:::-;;;;;;;;;;;;2355:10:18;4791:12821:23;;2344:10:18;4791:12821:23;;;;;;;;;;;;-1:-1:-1;4791:12821:23;;;;-1:-1:-1;4791:12821:23;;;;;;;;;;;;;;;;;;;;;;;2355:10:18;2403:43;4791:12821:23;2355:10:18;2403:43;;4791:12821:23;;;2464:4:18;4791:12821:23;;;;;;;;;-1:-1:-1;;4791:12821:23;;;;;;;:::i;:::-;;;:::i;:::-;15288:7;552:8:41;4791:12821:23;;15288:7;;4791:12821;;1379:24:41;15287:23:23;;:59;;;4791:12821;15283:142;;4791:12821;15434:24;;;;:::i;:::-;357:173:58;4791:12821:23;;15502:6;4791:12821;;;;;5306:25:46;;;;:::i;:::-;4791:12821:23;;-1:-1:-1;;;;3217:178:61;;;;;;-1:-1:-1;;;3217:178:61;;4791:12821:23;;;15283:142;15362:39;;;4791:12821;814:96:36;4791:12821:23;;814:96:36;15287:59:23;-1:-1:-1;15336:9:23;;;4791:12821;-1:-1:-1;;;;;4791:12821:23;15314:10;:32;;15287:59;;4791:12821;;;;;;-1:-1:-1;;4791:12821:23;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;837:84:43;5705:60:23;;4791:12821;527:101:43;4791:12821:23;527:101:43;;-1:-1:-1;;;;;;;;;;;527:101:43;4791:12821:23;;-1:-1:-1;;;5916:48:23;;4791:12821;;5916:48;;4791:12821;;;;;;;;;;;:::i;:::-;5916:48;5932:10;;;5916:48;;;;;;;4791:12821;5916:48;;;4791:12821;622:89:44;-1:-1:-1;;;;;;;;;;;622:89:44;5975:75:23;;4791:12821;;675:80:43;;-1:-1:-1;;;;;;;;;;;675:80:43;4791:12821:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4791:12821:23;;;;;;;5975:75;6010:27;;;4791:12821;814:96:36;4791:12821:23;;814:96:36;5916:48:23;;;;;4791:12821;5916:48;;;;;;:::i;:::-;;;4791:12821;;;;;;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;;15838:82:40;4791:12821:23;;-1:-1:-1;;4791:12821:23;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;5916:48;;;;4791:12821;;;;;;;;;5705:60;5728:24;;;4791:12821;814:96:36;4791:12821:23;;814:96:36;4791:12821:23;;;;;;;:::i;:::-;2125:10:18;;;4791:12821:23;;2115:9:18;4791:12821:23;;;;;;;;;;;;-1:-1:-1;4791:12821:23;;;;-1:-1:-1;4791:12821:23;;;;;;;;;;;;;;;;;;;;;;2125:10:18;2174:41;4791:12821:23;2125:10:18;2174:41;;4791:12821:23;;;2233:4:18;4791:12821:23;;;;;;-1:-1:-1;;4791:12821:23;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;837:84:43;5429:18:23;5425:59;;13887:18;4791:12821;13887:18;;:::i;4791:12821::-;;;;;;-1:-1:-1;;4791:12821:23;;;;;;;;;656:871:20;;4791:12821:23;656:871:20;4791:12821:23;656:871:20;;;4791:12821:23;656:871:20;;;;;;;;;;4791:12821:23;;;656:871:20;;;;;;;;;;;;;;;;;;;;4791:12821:23;;656:871:20;;;4791:12821:23;;;;;;-1:-1:-1;;4791:12821:23;;;;;;:::i;:::-;756:44:17;4791:12821:23;;;;;;;;764:10:17;:19;756:44;:::i;:::-;1153:34:24;4791:12821:23;;-1:-1:-1;;;;;;4791:12821:23;-1:-1:-1;;;;;4791:12821:23;;;;;;;;;1202:40:24;-1:-1:-1;;1202:40:24;4791:12821:23;;;;;;;-1:-1:-1;;4791:12821:23;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;;;;;:::i;:::-;837:84:43;;;-1:-1:-1;;;;;;;;;;;837:84:43;5429:18:23;5425:59;;1169:76:22;;:::i;:::-;4791:12821:23;357:173:58;;4791:12821:23;;;;17402:6;4791:12821;;;;;12324:25;;;;:::i;:::-;12362:9;;;4791:12821;;-1:-1:-1;;;;;4791:12821:23;;;8814:10:40;:27;;;8810:59;;4791:12821:23;22076:15:46;;-1:-1:-1;;;;;22076:15:46;;;4791:12821:23;;22105:14:46;;;22101:66;;4791:12821:23;22298:18:46;;;;:::i;:::-;4791:12821:23;;22321:18:46;;;:::i;:::-;4791:12821:23;;-1:-1:-1;;;;;553:115:55;;12362:9:23;553:115:55;;22503:11:46;;22499:143;;4791:12821:23;22659:11:46;22655:143;;4791:12821:23;8814:10:40;;12513::23;8814::40;12513::23;;;:::i;:::-;4791:12821;;;;;;;;;;;12641:44;4791:12821;8814:10:40;12641:44:23;;4791:12821;-1:-1:-1;;;;;4791:12821:23;;;;8814:10:40;:27;;;8810:59;;4791:12821:23;;;;;;;;;8810:59:40;4791:12821:23;16467:29:40;16195:164;;8810:59;;;;16195:164;16252:96;4791:12821:23;16266:81:40;4791:12821:23;16266:81:40;4791:12821:23;;;16266:81:40;;;;;;;;;;8814:10;16266:81;;;;:::i;16252:96::-;;16195:164;;;;;;;;22655:143:46;22690:26;;1070:86:54;;12362:9:23;1070:86:54;;4791:12821:23;;258:35:37;4791:12821:23;;22655:143:46;;;;22499;4791:12821:23;22534:26:46;;1070:86:54;;12362:9:23;1070:86:54;;4791:12821:23;;258:35:37;4791:12821:23;;22499:143:46;;22101:66;22121:33;;;4791:12821:23;814:96:36;4791:12821:23;;814:96:36;8810:59:40;4791:12821:23;16467:29:40;15766:166;;8810:59;;;;15766:166;4791:12821:23;;-1:-1:-1;;;4791:12821:23;15838:82:40;;;15824:97;;15838:82;4791:12821:23;15838:82:40;8814:10;;;;;;15838:82;;;;:::i;15824:97::-;;15766:166;;;4791:12821:23;;;;;;-1:-1:-1;;4791:12821:23;;;;;;411:99:20;4791:12821:23;411:99:20;4791:12821:23;;411:99:20;4791:12821:23;;;;;;;:::i;:::-;837:84:43;-1:-1:-1;;;;;;;;;;;837:84:43;5429:18:23;5425:59;;-1:-1:-1;;;;;4791:12821:23;;;;-1:-1:-1;;;;;;;;;;;3235:54:18;;;14779:10:23;14759:17;;;:::i;:::-;4791:12821;;;;14779:10;;;;:::i;:::-;4791:12821;;;;;;;;;;;;;;;;;;;;;;;;3186:33:18;4791:12821:23;;;3186:33:18;:::i;4791:12821:23:-;;;-1:-1:-1;;4791:12821:23;;;;-1:-1:-1;;;;;;;;;;;837:84:43;5429:18:23;5425:59;;4791:12821;13715:19;13723:10;13715:19;:::i;4791:12821::-;;;;;;-1:-1:-1;;4791:12821:23;;;;;;:::i;:::-;;;:::i;:::-;;;837:84:43;-1:-1:-1;;;;;;;;;;;837:84:43;5429:18:23;5425:59;;13565:6;13498:17;13518:10;13498:17;;;:::i;:::-;4791:12821;;;;13518:10;;;;:::i;:::-;13565:6;:::i;4791:12821::-;;;;;;;:::i;:::-;1292:10:18;;;4791:12821:23;;;;;;;;;;;;;;;;1282:35:18;4791:12821:23;;;1282:35:18;:::i;:::-;4791:12821:23;;;;;;;;;;;;;;;;;;;;;;;;;;1328:33:18;4791:12821:23;;;1328:33:18;:::i;:::-;4791:12821:23;;;;;1292:10:18;4791:12821:23;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1377:54:18;4791:12821:23;;;;1377:54:18;4791:12821:23;;;;;;;-1:-1:-1;;4791:12821:23;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2762:25:18;;;:100;;;;4791:12821:23;;;;;;;;;;2762:100:18;-1:-1:-1;;;2837:25:18;;-1:-1:-1;2762:100:18;;;4791:12821:23;;;;;;-1:-1:-1;;4791:12821:23;;;;;;-1:-1:-1;;;;;4791:12821:23;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;:::o;:::-;;;15838:82:40;;4791:12821:23;;;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;4791:12821:23;;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;4791:12821:23;;;;;;;;;;;;-1:-1:-1;;;4791:12821:23;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4791:12821:23;;;;;;;;-1:-1:-1;;4791:12821:23;;;;:::o;2098:168:49:-;-1:-1:-1;;;2172:13:49;;;2168:57;;4791:12821:23;;2098:168:49;:::o;2168:57::-;2187:25;;;814:96:36;;;;;16552:356:23;;;4791:12821;;16647:10;;;16643:23;;-1:-1:-1;;;;;547:238:34;;;;;;;;;;;;;;1500:16;1408:76;;1500:16;;;:::i;:::-;1526:71;;;16758:9:23;;800:17:19;;;-1:-1:-1;;;;;;;;;;;1271:180:44;;-1:-1:-1;;;;;;;;;;;1271:180:44;16754:148:23;16552:356::o;16754:148::-;16833:13;16829:73;;16552:356::o;16829:73::-;763:180:44;-1:-1:-1;;;;;;;;;;;763:180:44;;-1:-1:-1;;;;;;;;;;;763:180:44;16552:356:23:o;16643:23::-;16659:7;;;:::o;1472:2873:57:-;;;;-1:-1:-1;;;;;4791:12821:23;;;4998:58:57;1769:24;;1809:163;;-1:-1:-1;1809:163:57;;;;;;;2085:8;2081:127;;1765:2574;1472:2873::o;2081:127::-;3741:1424:36;;-1:-1:-1;;;3741:1424:36;;-1:-1:-1;;;;;3741:1424:36;;;;;;;-1:-1:-1;3741:1424:36;;;;;;;;;;;4791:12821:23;3741:1424:36;15838:82:40;3741:1424:36;-1:-1:-1;;3741:1424:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2163:29:57;;;3741:1424:36;;;;;;;1765:2574:57;2238:1774;-1:-1:-1;2238:1774:57;;;;;;;;;;;;;;;;;4791:12821:23;;;;;2238:1774:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4124:8;4120:209;;1765:2574;1472:2873::o;4120:209::-;2238:1774;3741:1424:36;-1:-1:-1;;;3741:1424:36;;2238:1774:57;3741:1424:36;;;;;;-1:-1:-1;;;2238:1774:57;3741:1424:36;;;;2238:1774:57;3741:1424:36;;;15838:82:40;3741:1424:36;;-1:-1:-1;;3741:1424:36;;;;;;;;;;;;;;-1:-1:-1;3741:1424:36;;;;;;;2238:1774:57;3741:1424:36;;;;;4268:28:57;;;3741:1424:36;;;;;;;15649:825:23;-1:-1:-1;;;;;;;;;;;629:81:35;;15649:825:23;-1:-1:-1;;;;;4791:12821:23;;15916:24;;16457:9;15963;;15912:494;;16440:15;;;:::i;:::-;16457:9;;:::i;15912:494::-;16007:9;16003:59;;16457:9;1199:81:35;16321:28:23;1199:81:35;;16276:24:23;;;:::i;:::-;16321:28;:::i;:::-;766:73:35;4791:12821:23;-1:-1:-1;;;;;;;;;;;766:73:35;15912:494:23;;16003:59;16022:27;;;4791:12821;814:96:36;;4791:12821:23;814:96:36;963:137:22;1039:8;-1:-1:-1;;;;;4791:12821:23;1030:4:22;1022:25;1018:75;;963:137::o;1018:75::-;1049:31;;;814:96:36;;;;;28591:157:46;4791:12821:23;-1:-1:-1;;;;;1502:93:61;28669:30:46;28665:76;;28591:157::o;28665:76::-;28701:27;;;-1:-1:-1;814:96:36;;-1:-1:-1;814:96:36;1907:6:40;;;-1:-1:-1;;;;;4791:12821:23;;;5241:25;;1907:6:40;;;;;4791:12821:23;;1907:6:40;;;5241:25:23;1907:6:40;;;;;4791:12821:23;;1907:6:40;;;5241:25:23;1907:6:40;;;;;4791:12821:23;;1907:6:40;;;4791:12821:23;1907:6:40;;;;;4791:12821:23;1907:6:40;;5241:25:23;1907:6:40:o;:::-;;;;;;;;;;4791:12821:23;;;;;;;;1907:6:40;;;;;:::i;:::-;;;;4791:12821:23;1907:6:40;;;4791:12821:23;1907:6:40;;;;;;;;:::i;:::-;;:::o;16986:232:23:-;;17204:6;16986:232;;17141:6;4791:12821;;;;;;5241:25;;4791:12821;2052:83:55;;;17141:6:23;;:::i;:::-;17172:13;;5241:25;2241:89:55;;;;;;-1:-1:-1;;;;;4791:12821:23;17204:6;:::i;1833:122:41:-;4791:12821:23;;1111:7:41;1667:18;;1888:60;;1833:122;:::o;1888:60::-;1909:22;;;-1:-1:-1;1084:176:36;;;;-1:-1:-1;1084:176:36;1665:6:40;-1:-1:-1;;;;;4791:12821:23;;;;;1665:6:40;;;;;;;;;;;;;;;:::i;:::-;;;4791:12821:23;;;;1665:6:40;;;4791:12821:23;1665:6:40;;;;4791:12821:23;;1665:6:40;;;4791:12821:23;1665:6:40;;;;;;;4791:12821:23;1665:6:40;;;;;;4791:12821:23;1665:6:40;;;;;;;;;;:::i;1460:151:49:-;;4791:12821:23;;;1558:6:49;;;1554:50;;1460:151::o;1733:6:40:-;;;;;;;;;;;;4791:12821:23;;;;;;;;1733:6:40;;;;;:::i;:::-;1665;;4791:12821:23;;;;1733:6:40;;;4791:12821:23;1665:6:40;;;;4791:12821:23;;1665:6:40;;;4791:12821:23;1665:6:40;;;;;;;4791:12821:23;1665:6:40;;;;;;4791:12821:23;1665:6:40;1733;;;;4791:12821:23;1733:6:40;;;4791:12821:23;1733:6:40;;;;;;;;:::i;10471:1558::-;;;;;;;;4791:12821:23;;;;;;;;;10778:10:40;:27;10774:79;;10864:19;4791:12821:23;10897:21:40;;;4791:12821:23;10897:25:40;10893:1130;4791:12821:23;;;;16467:29:40;;10938:518;;10893:1130;;;;;;;;10471:1558::o;10938:518::-;11418:23;4791:12821:23;;;;;11057:311:40;4791:12821:23;;;;11111:151:40;4791:12821:23;11111:151:40;4791:12821:23;10897:21:40;4791:12821:23;11111:151:40;;;;;;;;;;10778:10;11111:151;;;;:::i;:::-;;15838:82;;11111:151;;;;;;:::i;:::-;4791:12821:23;16467:29:40;;:34;;11057:311;;:::i;:::-;11418:23;;;:::i;:::-;10938:518;;;;;;;;;;10893:1130;11490:47;;;;;;4791:12821:23;16467:29:40;;11486:527;;10893:1130;;;;;;;10471:1558::o;11486:527::-;11975:23;4791:12821:23;;;;;;;11662:154:40;4791:12821:23;11662:154:40;4791:12821:23;;11608:317:40;4791:12821:23;10897:21:40;4791:12821:23;11662:154:40;;;;;;;;;;10778:10;11662:154;;;;:::i;:::-;4791:12821:23;16467:29:40;;:34;;11608:317;;:::i;10774:79::-;-1:-1:-1;4791:12821:23;;-1:-1:-1;;;;;;10807:46:40:o;5485:1119::-;4791:12821:23;16467:29:40;;:34;;5703:91;;5485:1119;5699:109;;4791:12821:23;16467:29:40;;:34;;5822:89;;5485:1119;5818:107;;4791:12821:23;16467:29:40;;:34;;5939:107;;5485:1119;5935:158;;4791:12821:23;16467:29:40;;:34;;6119:129;;5485:1119;6102:169;;-1:-1:-1;;;;;4791:12821:23;;;;-1:-1:-1;4791:12821:23;;552:8:41;1379:24;6497:19:40;;5485:1119::o;6455:142::-;1325:13;6532:38;:42;;;;:64;;;6455:142;5485:1119;:::o;6532:64::-;552:8:41;4791:12821:23;;;;1379:24:41;5485:1119:40;:::o;6102:169::-;6259:12;;4791:12821:23;6259:12:40;:::o;6119:129::-;6187:61;4791:12821:23;16467:29:40;;:34;;6119:129;;5939:107;5988:58;4791:12821:23;16467:29:40;;:34;;5939:107;;5822:89;5862:49;4791:12821:23;16467:29:40;;:34;;5822:89;;5703:91;5744:50;4791:12821:23;16467:29:40;;:34;;5703:91;;2333:220:41;552:8;4791:12821:23;;;1379:24:41;2467:33;;2510:13;;;:::i;2467:33::-;2492:8;4791:12821:23;2492:8:41;:::o;4351:276:57:-;-1:-1:-1;;;;;4791:12821:23;4998:58:57;4439:24;;4486:21;;4479:28;:::o;4435:186::-;4791:12821:23;4545:65:57;4791:12821:23;;;;;;;;;;4545:65:57;;4604:4;4545:65;;;4791:12821:23;4545:65:57;;;;;;;4791:12821:23;4545:65:57;;;4538:72;;:::o;4545:65::-;;;4791:12821:23;4545:65:57;;4791:12821:23;4545:65:57;;;;;;4791:12821:23;4545:65:57;;;:::i;:::-;;;4791:12821:23;;;;;4538:72:57;:::o;4545:65::-;;;-1:-1:-1;4545:65:57;;809:23:56;;;;;;;;;;;;;;;;;;;;;;;;:::o;12116:1967:40:-;12354:22;;;4791:12821:23;;;;;;12116:1967:40;;;12390:10;-1:-1:-1;;;;;4791:12821:23;;12390:27:40;12386:104;;4791:12821:23;16467:29:40;;12501:1576;;12116:1967;;;;;;:::o;12501:1576::-;12579:86;4791:12821:23;809:23:56;12594:70:40;4791:12821:23;809:23:56;4791:12821:23;;;12594:70:40;;;;;;12354:22;12594:70;;;12390:10;12594:70;;;4791:12821:23;809:23:56;;;;;;:::i;:::-;;;4791:12821:23;;809:23:56;;;4791:12821:23;809:23:56;;;;;;;4791:12821:23;809:23:56;;;-1:-1:-1;;;;;4791:12821:23;809:23:56;;;4791:12821:23;809:23:56;;;;;;;;;;;;:::i;12594:70:40:-;12579:86;;:::i;:::-;4791:12821:23;12800:2:40;4791:12821:23;;12783:19:40;12779:66;;4791:12821:23;13119:7:40;4791:12821:23;;;552:8:41;1379:24;13115:61:40;;12501:1576;4791:12821:23;16467:29:40;13262:805;;12501:1576;;;;;;;13262:805;4791:12821:23;1104:87:45;;;-1:-1:-1;1791:6:40;2052:83:55;;;4791:12821:23;;13721:332:40;;13262:805;13721:332;13828:34;13790:16;4791:12821:23;13790:16:40;;13828:34;;:::i;:::-;13888:48;;;;4791:12821:23;13901:16:40;;13888:48;13884:151;;13721:332;13262:805;;13884:151;13964:35;;;4791:12821:23;814:96:36;;4791:12821:23;814:96:36;13888:48:40;4791:12821:23;13920:16:40;;13888:48;;13115:61;12800:2;828:82:45;;;;-1:-1:-1;13115:61:40;;12779:66;12804:28;;;4791:12821:23;814:96:36;;4791:12821:23;814:96:36;12386:104:40;-1:-1:-1;4791:12821:23;;-1:-1:-1;4791:12821:23;;-1:-1:-1;;;;;12419:71:40:o;4791:12821:23:-;;;;;;;;;-1:-1:-1;;;;;4791:12821:23;;;-1:-1:-1;;;;;4791:12821:23;;;;;:::o;14169:1338:40:-;;;;;;;;14448:10;-1:-1:-1;;;;;4791:12821:23;;14448:27:40;14444:83;;2052::55;;;2241:89;;;14703:35:40;16467:29;4791:12821:23;16467:29:40;;14699:308;;14169:1338;15017:22;;;;;4791:12821:23;;;2241:89:55;4791:12821:23;15053:25:40;;;:52;;;14169:1338;15049:413;;14169:1338;15471:29;;;;14169:1338;:::o;15049:413::-;15430:21;15134:22;;;4791:12821:23;15134:22:40;;;4791:12821:23;15134:26:40;4791:12821:23;;;;15134:47:40;15133:199;;;;-1:-1:-1;;;;;553:115:55;;2052:83;553:115;;15133:199:40;15121:211;15430:21;;:::i;:::-;15049:413;;;;;15133:199;553:115:55;-1:-1:-1;;;;;553:115:55;;2052:83;553:115;;15133:199:40;;15053:52;4791:12821:23;;2241:89:55;4791:12821:23;15082:23:40;;15053:52;;14699:308;14824:80;14778:218;4791:12821:23;;14778:207:40;4791:12821:23;14754:242:40;4791:12821:23;;;;;;1847:6:40;4791:12821:23;14824:80:40;;;;;;;;;;14448:10;14824:80;;;4791:12821:23;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;14824:80:40:-;4791:12821:23;16467:29:40;;:34;;14778:207;;:::i;:218::-;14754:242;;:::i;:::-;14699:308;;;;;;;14444:83;14477:50;;;;;;;;;4791:12821:23;14477:50:40;:::o;6780:1276::-;;;;6901:116;;;-1:-1:-1;6901:116:40;;;;;;;;;;7111:8;7107:102;;7280:504;;;;15838:82;;;7280:504;;;;;;;;;;;;;6901:116;7280:504;;;-1:-1:-1;7280:504:40;;6901:116;4791:12821:23;;7914:18:40;:68;;;;;6780:1276;7910:140;;;;6780:1276::o;7914:68::-;563:85:45;;;-1:-1:-1;;;;;;4791:12821:23;;;;;7936:46:40;;;-1:-1:-1;7914:68:40;;;;7107:102;4791:12821:23;;;-1:-1:-1;;;;;;4791:12821:23;;;;;;;;;7107:102:40;-1:-1:-1;;3741:1424:36;;-1:-1:-1;;;3741:1424:36;;-1:-1:-1;;;;;4791:12821:23;;;;3741:1424:36;;;-1:-1:-1;;;;;;3741:1424:36;;;;;;;;;;4791:12821:23;3741:1424:36;15838:82:40;3741:1424:36;-1:-1:-1;;3741:1424:36;;;;;;;;;;;;;;-1:-1:-1;3741:1424:36;;;;;;;4791:12821:23;3741:1424:36;;;;;7185:23:40;;;3741:1424:36;;;;;;;4791:12821:23;-1:-1:-1;;;;;;4791:12821:23;;;;;;;;;;;;;-1:-1:-1;4791:12821:23;;;;2108:1410:52;;;2509:1003;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2108:1410::o;2509:1003::-;;;;;;;;;;;;;;;;;;;;;3149:4018:53;3297:459;;;;;;;;;;1317:6;3774:35;;3770:78;;6424:727;4356:13;;4383:160;;;;;4791:12821:23;4383:160:53;;;4560:13;3297:459;4560:13;;4556:83;;3149:4018;4667:3;4657:13;;4653:83;;3149:4018;4764:3;4754:13;;4750:83;;3149:4018;4861:4;4851:14;;4847:84;;3149:4018;4959:4;4949:14;;4945:84;;3149:4018;5057:4;5047:14;;5043:84;;3149:4018;4383:160;5145:14;;5141:84;;3149:4018;5253:5;5243:15;;5239:85;;3149:4018;5352:5;5342:15;;5338:85;;3149:4018;5451:5;5441:15;;5437:85;;3149:4018;5550:5;5540:15;;5536:85;;3149:4018;5649:6;5639:16;;5635:86;;3149:4018;5749:6;5739:16;;5735:86;;3149:4018;5849:6;5839:16;;5835:86;;3149:4018;5949:6;5939:16;;5935:86;;3149:4018;6049:7;6039:17;;6035:86;;3149:4018;6149:7;6139:17;;6135:85;;3149:4018;6248:7;6238:17;;6234:83;;3149:4018;6345:7;6335:17;6331:78;;3149:4018;-1:-1:-1;;6424:727:53;;3149:4018;6424:727;4959:4;6424:727;3149:4018;:::o;6424:727::-;-1:-1:-1;;6424:727:53;;;6331:78;6376:25;4791:12821:23;;;4383:160:53;4791:12821:23;;6331:78:53;;6234:83;6279:30;4791:12821:23;;;4383:160:53;4791:12821:23;;6234:83:53;;6135:85;4791:12821:23;6180:32:53;4791:12821:23;4383:160:53;4791:12821:23;6135:85:53;;;6035:86;4791:12821:23;6080:33:53;4791:12821:23;4383:160:53;4791:12821:23;6035:86:53;;;5935;4791:12821:23;5979:34:53;4791:12821:23;4383:160:53;4791:12821:23;5935:86:53;;;5835;4791:12821:23;5879:34:53;4791:12821:23;4383:160:53;4791:12821:23;5835:86:53;;;5735;4791:12821:23;5779:34:53;4791:12821:23;4383:160:53;4791:12821:23;5735:86:53;;;5635;4791:12821:23;5679:34:53;4791:12821:23;4383:160:53;4791:12821:23;5635:86:53;;;5536:85;4791:12821:23;5579:34:53;4791:12821:23;4383:160:53;4791:12821:23;5536:85:53;;;5437;4791:12821:23;5480:34:53;4791:12821:23;4383:160:53;4791:12821:23;5437:85:53;;;5338;4791:12821:23;5381:34:53;4791:12821:23;4383:160:53;4791:12821:23;5338:85:53;;;5239;4791:12821:23;5282:34:53;4791:12821:23;4383:160:53;4791:12821:23;5239:85:53;;;5141:84;4791:12821:23;5183:34:53;4791:12821:23;4383:160:53;4791:12821:23;5141:84:53;;;5043;4791:12821:23;5085:34:53;4791:12821:23;4383:160:53;4791:12821:23;5043:84:53;;;4945;4791:12821:23;4987:34:53;4791:12821:23;4383:160:53;4791:12821:23;4945:84:53;;;4847;4791:12821:23;4889:34:53;4791:12821:23;4383:160:53;4791:12821:23;4847:84:53;;;4750:83;4791:12821:23;:34:53;:12821:23;4383:160:53;4791:12821:23;4750:83:53;;;4653;4791:12821:23;4694:34:53;4791:12821:23;4383:160:53;4791:12821:23;4653:83:53;;;4556;4791:12821:23;4597:34:53;4791:12821:23;4383:160:53;4791:12821:23;4556:83:53;;;3770:78;3811:20;;;;1431:143:36;;;;;;;13649:424:50;;13850:1;4791:12821:23;;;13838:13:50;:218;13850:1;;;13870:73;4791:12821:23;13850:1:50;4791:12821:23;-1:-1:-1;;;;;4791:12821:23;13870:73:50;;:::i;:::-;13850:1;1875:5:49;;1871:49;;13649:424:50;:::o;13838:218::-;13974:71;4791:12821:23;-1:-1:-1;;;;;4791:12821:23;13974:71:50;;:::i;:::-;13850:1;1875:5:49;;1871:49;;13850:1:50;4791:12821:23;13649:424:50;:::o;12876:::-;;13077:1;4791:12821:23;;;13065:13:50;:218;13077:1;;;13097:73;4791:12821:23;13077:1:50;4791:12821:23;-1:-1:-1;;;;;4791:12821:23;13097:73:50;;:::i;13065:218::-;13201:71;4791:12821:23;-1:-1:-1;;;;;4791:12821:23;13201:71:50;;:::i;369:370:42:-;;-1:-1:-1;;;;;369:370:42;452:281;;;;;;;;;;;369:370::o;452:281::-;;;;;;;8196:485:40;;8337:20;8196:485;8337:20;:::i;:::-;8449:12;;8445:26;;8587:2;4791:12821:23;;8570:19:40;8566:66;;8587:2;1104:87:45;;8196:485:40;:::o;1070:396:55:-;1447:15;1070:396;1430:15;1183:220;;;;;;;1430:15;:::i;:::-;1183:220;;;;;;;1447:15;:::i;:::-;-1:-1:-1;;;;;553:115:55;;1183:220;553:115;;1070:396;:::o;7627:4752:53:-;2282:66;-1:-1:-1;;1862:10:53;;-1:-1:-1;;;;;4791:12821:23;8182:79:53;8178:168;;8401:2;4791:12821:23;;;-1:-1:-1;;;;;4791:12821:23;;;8463:29:53;4791:12821:23;8463:29:53;:::i;:::-;4791:12821:23;;8518:3:53;8511:10;;8518:3;;-1:-1:-1;;;4791:12821:23;;;8507:83:53;8660:196;;;;;;4791:12821:23;8660:196:53;;8869;;;8660;8869;;4791:12821:23;8869:196:53;;9078;;;8660;9078;;4791:12821:23;9078:196:53;;9287;;;8660;9287;;4791:12821:23;9287:196:53;;9496;;;8660;9496;;4791:12821:23;9496:196:53;;9705;;;8660;9705;;4791:12821:23;9705:196:53;;9914;;;;8660;9914;;4791:12821:23;9914:196:53;;10123;;;;8660;10123;;4791:12821:23;10123:196:53;;10332;;;;8660;10332;;4791:12821:23;10332:196:53;;10541;;;;8660;10541;;4791:12821:23;10541:196:53;;10750;;;;8660;10750;;4791:12821:23;10750:196:53;;10959;;;;8660;10959;;4791:12821:23;10959:196:53;;11168;;;;;8660;11168;;4791:12821:23;11168:196:53;;11377:165;;;;;;11168:196;;;;;10959;;;;;10750;;;;;10541;;;;;10332;;;;;10123;;;;;9914;;;;;9705;;;;;9496;;;;;9287;;;;;9078;;;;;8869;;;;;8660;;;;;2282:66;;;;8643:2;4791:12821:23;8660:196:53;8869;9078;9287;9496;9705;9914;10123;10332;10541;10750;10959;11168;11377:165;11587:24;2282:66;;;;;8518:3;2282:66;4791:12821:23;;2282:66:53;12201:39;2282:66;8518:3;2282:66;4791:12821:23;;12271:91:53;:17;;;:91;4791:12821:23;;;12271:91:53;;;7627:4752;:::o;12271:91::-;-1:-1:-1;;;;;4791:12821:23;;;;12301:26:53;;;:::i;:::-;4791:12821:23;12301:42:53;:61;;;7627:4752;:::o;12301:61::-;;;1907:6:40;:::o;8507:83:53:-;4791:12821:23;;;8580:3:53;4791:12821:23;;8507:83:53;;8178:168;-1:-1:-1;;;1084:176:36;;;;-1:-1:-1;;;;;1084:176:36;;;;;;;;;633:9:48;;;;;;;:::o;:::-;4791:12821:23;;;633:9:48;;;;;;;;12231:9620:46;4791:12821:23;;;12231:9620:46;;4791:12821:23;;;;:::i;:::-;;;;;;;;;;;;;;;;;;12391:24:46;4791:12821:23;;;12488:17:46;4791:12821:23;12488:17:46;;4791:12821:23;;12550:102:46;4791:12821:23;;12550:102:46;4791:12821:23;;;750:5:48;1882:117:61;;;743:12:48;12550:102:46;;4791:12821:23;;-1:-1:-1;;;;;1502:93:61;;4791:12821:23;;;;1682:98:61;;;;;4791:12821:23;;;13221:14:46;;;4791:12821:23;-1:-1:-1;;;;;4791:12821:23;;;;13451:20:46;;;4791:12821:23;;;;1502:93:61;819:8:41;2836:24;;:29;819:8;;975;3147:27;3572:12;;;:::i;:::-;4791:12821:23;;;;;13617:70:46;13607:80;4791:12821:23;563:3:51;4791:12821:23;;;13847:32:46;;13843:200;;13617:70;4791:12821:23;;14251:27:46;14247:92;;-1:-1:-1;;4791:12821:23;;;;14384:24:46;;4791:12821:23;;14384:24:46;;4791:12821:23;-1:-1:-1;;;;;4791:12821:23;14384:53:46;;;;14380:190;;-1:-1:-1;;4791:12821:23;-1:-1:-1;;;;;4791:12821:23;1862:10:53;14818:51:46;;;14814:157;;14350:1021;;4791:12821:23;;;2042:49:53;4791:12821:23;;;;;-1:-1:-1;;;;;4791:12821:23;;;;;;;;2042:49:53;;4791:12821:23;;2042:49:53;;;4791:12821:23;;2042:49:53;;;4791:12821:23;;2042:49:53;;;4791:12821:23;13451:20:46;2042:49:53;;;4791:12821:23;1682:98:61;2042:49:53;;;4791:12821:23;2042:49:53;;;;4791:12821:23;;15446:66:46;4791:12821:23;;;15459:25:46;;;4791:12821:23;15446:66:46;;;;;2042:49:53;;;4791:12821:23;15639:5244:46;15648:29;;:80;;;;15639:5244;15646:83;;4791:12821:23;;;;;;;;;;15905:11:46;4791:12821:23;15905:11:46;;4791:12821:23;1682:98:61;4791:12821:23;;15918:18:46;;4791:12821:23;1682:98:61;4791:12821:23;15856:93:46;846:396:52;4791:12821:23;846:396:52;;;;;;;4791:12821:23;;4565:1682:52;4791:12821:23;;;15856:15:46;1676:170:52;;;4839:13;1676:170;1682:98:61;1676:170:52;;;4791:12821:23;;-1:-1:-1;4791:12821:23;15856:15:46;4791:12821:23;;;-1:-1:-1;4791:12821:23;800:17:19;;4791:12821:23;1676:170:52;4791:12821:23;;;;4839:20:52;5014:11;;;;5164:194;;;;;;5234:34;;1676:170;5234:34;;:::i;:::-;4791:12821:23;;;1682:98:61;4791:12821:23;633:9:48;;1682:98:61;4791:12821:23;;1682:98:61;4791:12821:23;5164:194:52;4565:1682;;4791:12821:23;;;2042:49:53;;4791:12821:23;1682:98:61;4791:12821:23;2042:49:53;4791:12821:23;2042:49:53;;4791:12821:23;1032:7:53;;-1:-1:-1;16081:34:46;16077:106;;4565:1682:52;1317:6:53;4791:12821:23;2042:49:53;;4791:12821:23;1682:98:61;4791:12821:23;16200:34:46;;16196:106;;4565:1682:52;4791:12821:23;;;;-1:-1:-1;;;;;4791:12821:23;1328:919:51;4791:12821:23;;;;;16387:42:46;4791:12821:23;2042:49:53;;4791:12821:23;1682:98:61;4791:12821:23;16387:42:46;:::i;:::-;4791:12821:23;2042:49:53;4791:12821:23;2042:49:53;;4791:12821:23;;;;;;;;;;;;;;;;16776:24:46;;4791:12821:23;;;;;;1328:919:51;;;;;;;;;16819:16:46;;4791:12821:23;;16634:282:46;4791:12821:23;;;;;;;3923:41:51;;;3993:19;4791:12821:23;3993:19:51;;4027:2922;4791:12821:23;;;;;;563:3:51;4791:12821:23;4111:81:51;4791:12821:23;;;;4111:81:51;:::i;:::-;4221:230;;;;;4254:87;;;;;:::i;:::-;4221:230;;4473:34;;;;;-1:-1:-1;4595:37:51;2042:49:53;;4595:37:51;;;;4666:256;4791:12821:23;;;563:3:51;4666:24;563:3;;4666:256;;;;4469:969;;5467:228;;;5500:86;;;;:::i;:::-;4027:2922;;2042:49:53;4791:12821:23;1682:98:61;2042:49:53;;4791:12821:23;13451:20:46;2042:49:53;;4791:12821:23;-1:-1:-1;;;;;4791:12821:23;;;;;-1:-1:-1;;4791:12821:23;;;1682:98:61;2042:49:53;;;1875:5:49;4791:12821:23;1875:5:49;;1871:49;;4791:12821:23;2042:49:53;17153:30:46;13451:20;2042:49:53;;;;;;;17153:30:46;;:::i;:::-;4791:12821:23;1875:5:49;;1871:49;;2042::53;;;;;1328:919:51;2042:49:53;;;16961:568:46;;4791:12821:23;;;17660:951:46;;16961:568;-1:-1:-1;;;;;4791:12821:23;16819:16:46;;4791:12821:23;;18670:20:46;18666:382;;16961:568;-1:-1:-1;4791:12821:23;;;2042:49:53;;4791:12821:23;-1:-1:-1;;;;;4791:12821:23;;;;;19488:44:46;;4791:12821:23;;2042:49:53;4791:12821:23;2042:49:53;;4791:12821:23;19623:835:46;;19484:1389;4791:12821:23;;;800:17:19;;4791:12821:23;2042:49:53;;4791:12821:23;1682:98:61;4791:12821:23;633:9:48;1682:98:61;4791:12821:23;20522:46:46;1682:98:61;4791:12821:23;;15905:11:46;;4791:12821:23;19484:1389:46;15639:5244;;;;20522:46;4791:12821:23;2042:49:53;;4791:12821:23;1682:98:61;4791:12821:23;20522:46:46;;19623:835;4791:12821:23;;;-1:-1:-1;;;;;20385:54:46;2042:49:53;;;29769:10:46;2042:49:53;;;;19794:25:46;4791:12821:23;1682:98:61;19794:25:46;;4791:12821:23;19730:170:46;;2042:49:53;4791:12821:23;1682:98:61;4791:12821:23;;;-1:-1:-1;4791:12821:23;29769:10:46;4791:12821:23;;;-1:-1:-1;4791:12821:23;29851:26:46;1328:919:51;29851:26:46;;4791:12821:23;;;;;;;1682:98:61;29943:26:46;;4791:12821:23;;;;;;;;13451:20:46;4791:12821:23;;;;20277:44:46;;19730:170;4791:12821:23;16819:16:46;4791:12821:23;;;20385:54:46;:::i;:::-;4791:12821:23;;16819:16:46;;4791:12821:23;19623:835:46;;20277:44;4791:12821:23;;;;;;;;20277:44:46;;19730:170;-1:-1:-1;;;;;20385:54:46;19848:25;;;29769:10;1328:919:51;19848:25:46;;4791:12821:23;2042:49:53;4791:12821:23;2042:49:53;;;;19730:170:46;;;19484:1389;4791:12821:23;;-1:-1:-1;;;;;4791:12821:23;20611:45:46;;20607:266;;19484:1389;;;;20607:266;20810:48;;;:::i;:::-;1682:98:61;4791:12821:23;;15905:11:46;;4791:12821:23;20607:266:46;;;18666:382;2042:49:53;;;;13451:20:46;1070:86:54;;2042:49:53;;;;258:35:37;2042:49:53;;;4791:12821:23;18666:382:46;;;17660:951;18159:242;4791:12821:23;;;;;;18160:22:46;4791:12821:23;;2042:49:53;;;;18159:242:46;;2042:49:53;;;;;4791:12821:23;2042:49:53;;;4791:12821:23;258:35:37;17660:951:46;;;18159:242;563:3:51;13451:20:46;2042:49:53;;;4791:12821:23;;;2042:49:53;;;;;258:35:37;4791:12821:23;633:9:48;18159:242:46;;;16961:568;13451:20;2042:49:53;;;;;;;258:35:37;1875:5:49;4791:12821:23;1875:5:49;;1871:49;;258:35:37;2042:49:53;1682:98:61;2042:49:53;;;4791:12821:23;1875:5:49;;1871:49;;17469:45:46;;;:::i;:::-;16961:568;;;5467:228:51;5609:86;;;:::i;:::-;5467:228;;4666:256;4791:12821:23;4852:70:51;4791:12821:23;;4852:70:51;;:::i;:::-;4666:256;;4469:969;5021:33;;;;;;;;;6731:358:50;;;;;;;;7172:190;;2042:49:53;;7172:190:50;;;;7197:74;;;;;:::i;:::-;4791:12821:23;;;;;;4469:969:51;;;7172:190:50;-1:-1:-1;;;;;4834:27:50;;4791:12821:23;;5042:42:50;5043:28;4884:47;-1:-1:-1;;;;;4791:12821:23;;;295:2:38;4791:12821:23;4884:47:50;:::i;:::-;-1:-1:-1;;;;;4791:12821:23;;5043:28:50;:::i;:::-;5042:42;:::i;:::-;7172:190;;4834:172;5042:42;5043:28;4954:52;-1:-1:-1;;;;;4791:12821:23;;4954:52:50;;:::i;:::-;4834:172;;6731:358;;4791:12821:23;6731:358:50;;;;4221:230:51;4364:87;;;;;:::i;:::-;4221:230;;;4027:2922;5746:232;;-1:-1:-1;5746:232:51;-1:-1:-1;5746:232:51;;;;5779:88;;;;;:::i;:::-;5746:232;;6000:37;;;;;5996:516;;;6540:226;;;6573:85;;;;:::i;:::-;6540:226;;6529:237;2042:49:53;6864:70:51;4791:12821:23;;;563:3:51;4791:12821:23;;;;6529:237:51;6864:70;:::i;:::-;4027:2922;;;6540:226;6681:85;;;:::i;:::-;6540:226;;;5996:516;-1:-1:-1;6297:36:51;;-1:-1:-1;8211:358:50;;;;;;;8646:194;;;;-1:-1:-1;;;;;5152:27:50;;4791:12821:23;;;295:2:38;4791:12821:23;-1:-1:-1;;;;;4791:12821:23;;558:86:54;;;;;;;;5152:205:50;-1:-1:-1;;;;;5468:277:50;;;;;;;;;4791:12821:23;;-1:-1:-1;;;;;4791:12821:23;8646:194:50;5996:516:51;;;;5468:277:50;;4791:12821:23;5468:277:50;;;;5152:205;-1:-1:-1;;;;;4791:12821:23;;5315:25:39;4791:12821:23;-1:-1:-1;;;5315:25:39;;:::i;:::-;5358;;;;;-1:-1:-1;;;5358:25:39;;5354:90;5152:205:50;5354:90:39;4791:12821:23;;5416:12:39;5152:205:50;4791:12821:23;;;;8646:194:50;8764:76;;;;;:::i;:::-;8646:194;;5746:232:51;5890:88;;;;;:::i;:::-;5746:232;;;16196:106:46;1317:6:53;4791:12821:23;2042:49:53;;4791:12821:23;16196:106:46;;16077;-1:-1:-1;;4791:12821:23;2042:49:53;;4791:12821:23;16077:106:46;;5164:194:52;4791:12821:23;1682:98:61;4791:12821:23;633:9:48;;1682:98:61;4791:12821:23;;1682:98:61;4791:12821:23;5164:194:52;;4565:1682;1328:919:51;4791:12821:23;;1682:98:61;4791:12821:23;1676:170:52;15856:15:46;1676:170:52;;;5702:13;1676:170;;;4791:12821:23;;;;15856:15:46;4791:12821:23;;;;;800:17:19;1328:919:51;1676:170:52;800:17:19;;4791:12821:23;;;;5647:20:52;4791:12821:23;;5702:20:52;5869:11;;;;;6019:213;;;;;;4791:12821:23;;1766:834:33;1676:170:52;1766:834:33;4791:12821:23;1766:834:33;;;4791:12821:23;1766:834:33;;;;;;;;;;;;;;;;;;;;;4791:12821:23;;1682:98:61;4791:12821:23;;1682:98:61;4791:12821:23;;1682:98:61;4791:12821:23;6019:213:52;4565:1682;;;6019:213;4791:12821:23;1676:170:52;4791:12821:23;;;;;1682:98:61;4791:12821:23;;1682:98:61;4791:12821:23;;1682:98:61;4791:12821:23;6019:213:52;;15646:83:46;;;;;;;;;;;;;4791:12821:23;20925:11:46;;4791:12821:23;1682:98:61;2578:157;4791:12821:23;2578:157:61;;;4791:12821:23;;;;;;;;2342:131:61;;;;;;;4791:12821:23;;-1:-1:-1;;;;;13221:14:46;;;4791:12821:23;;-1:-1:-1;;;;;4791:12821:23;21049:16:46;;4791:12821:23;;21031:34:46;;;21027:73;;15639:5244;-1:-1:-1;4791:12821:23;;;;2042:49:53;1682:98:61;2042:49:53;;;21178:25:46;;4791:12821:23;21147:177:46;4791:12821:23;;;;;21420:26:46;;21405:42;4791:12821:23;;21515:27:46;;21544:62;21515:27;;;:::i;:::-;4791:12821:23;;;21544:62:46;:::i;:::-;-1:-1:-1;;;;;553:115:55;;13451:20:46;553:115:55;;21401:434:46;12231:9620::o;21401:434::-;21775:27;4791:12821:23;;;21711:62:46;4791:12821:23;;21711:62:46;:::i;:::-;21775:27;;:::i;21147:177::-;2042:49:53;1328:919:51;2042:49:53;;;21261:25:46;;4791:12821:23;21147:177:46;;21027:73;-1:-1:-1;;;;;4791:12821:23;-1:-1:-1;;;;;4791:12821:23;13221:14:46;;;4791:12821:23;;;13221:14:46;;;4791:12821:23;21027:73:46;;;15648:80;-1:-1:-1;4791:12821:23;;;15704:24:46;;4791:12821:23;-1:-1:-1;;;;;4791:12821:23;;;;;15681:47:46;15648:80;;15446:66;1682:98:61;15487:25:46;;4791:12821:23;15446:66:46;;;;;;14814:157;15279:30;;;4791:12821:23;1084:176:36;;;;4791:12821:23;1084:176:36;14380:190:46;3008:319:36;;;4791:12821:23;3008:319:36;15078:34:46;;;;3008:319:36;;;;;;;;;;;14350:1021:46;4791:12821:23;15005:24:46;;4791:12821:23;;15005:24:46;;4791:12821:23;-1:-1:-1;;;;;4791:12821:23;15005:53:46;;;;15001:190;;-1:-1:-1;;4791:12821:23;-1:-1:-1;;;;;4791:12821:23;2042:49:53;15208:51:46;;;15204:157;;14350:1021;;;14247:92;14280:59;;;;;;;;;;;;;;4791:12821:23;14280:59:46;4791:12821:23;14280:59:46;;;:::o;13843:200::-;4791:12821:23;;;13929:26:46;13925:108;13843:200;13925:108;13975:30;;;4791:12821:23;814:96:36;;4791:12821:23;814:96:36;13617:70:46;4791:12821:23;1864:240:48;;;;;;;;;;;;;13617:70:46;;13451:141;2089:105:61;;;;4791:12821:23;2089:105:61;13451:141:46;;12550:102;4791:12821:23;;;;;12550:102:46;;;741:4141:39;4791:12821:23;;;;741:4141:39;-1:-1:-1;;741:4141:39;;1347:147;;;;;;;;;;;;4383:160:53;;4791:12821:23;4383:160:53;;1619:19:39;4791:12821:23;;;1720:10:39;1716:177;;-1:-1:-1;;;4383:160:53;2224:95:39;2391:145;;;;;;2977:82;4791:12821:23;2391:145:39;;2977:82;;3363:21;741:4141;:::o;1716:177::-;1750:98;;;;;1865:13;:::o;741:4141::-;4791:12821:23;;;;-1:-1:-1;;4791:12821:23;;1347:147:39;;;;;;;;;;;;1619:19;;563:3:51;1619:19:39;4791:12821:23;;;1720:10:39;1716:177;;4791:12821:23;2224:95:39;563:3:51;2224:95:39;;2391:145;;;;;;4791:12821:23;;2391:145:39;;2977:82;;3363:21;4791:12821:23;741:4141:39;:::o;1716:177::-;1750:98;;563:3:51;1750:98:39;;;1865:13;:::o;741:4141::-;4791:12821:23;;;;741:4141:39;-1:-1:-1;;741:4141:39;;1347:147;;;;;;;;;;;;335:27:38;;4791:12821:23;335:27:38;;1619:19:39;4791:12821:23;;;1720:10:39;1716:177;;-1:-1:-1;;;335:27:38;2224:95:39;2391:145;;;;;;4791:12821:23;;2391:145:39;;2977:82;;3363:21;741:4141;:::o;1716:177::-;1750:98;;;;;1865:13;:::o;741:4141::-;;4791:12821:23;;;;;-1:-1:-1;;;;;741:4141:39;1347:147;;;;;;;;;;;;1619:19;;;;4791:12821:23;;;1720:10:39;1716:177;;335:27:38;;-1:-1:-1;;;335:27:38;2224:95:39;4791:12821:23;;;;2716:31:39;2811:94;;;3776:1;4791:12821:23;3757:1:39;4791:12821:23;3756:21:39;4791:12821:23;;;3776:1:39;4791:12821:23;;;;;3776:1:39;4791:12821:23;;;;;3776:1:39;4791:12821:23;;;;;3776:1:39;4791:12821:23;;;;;3776:1:39;4791:12821:23;;;;;3776:1:39;4791:12821:23;;3254:96:39;;;;4791:12821:23;3254:96:39;;;2391:145;;;;;;4791:12821:23;2391:145:39;;2977:82;3363:21;4791:12821:23;741:4141:39;:::o;1716:177::-;1750:98;;;;1865:13;:::o;741:4141::-;;4791:12821:23;;;;-1:-1:-1;;4791:12821:23;741:4141:39;1347:147;;;;;;;;;;;;1619:19;;;;4791:12821:23;;;1720:10:39;1716:177;;2224:95;;;;4791:12821:23;;;;2716:31:39;2811:94;;;3776:1;4791:12821:23;3757:1:39;4791:12821:23;3756:21:39;4791:12821:23;;;3776:1:39;4791:12821:23;;;;;3776:1:39;4791:12821:23;;;;;3776:1:39;4791:12821:23;;;;;3776:1:39;4791:12821:23;;;;;3776:1:39;4791:12821:23;;;;;3776:1:39;4791:12821:23;;3254:96:39;;;;4791:12821:23;3254:96:39;;;2391:145;;;;;;4791:12821:23;2391:145:39;;2977:82;3363:21;4791:12821:23;741:4141:39;:::o;1716:177::-;1750:98;;;;;1865:13;:::o;11589:938:50:-;-1:-1:-1;;;;;10595:530:50;;;;;;;;;;;;;;;14040:4;;-1:-1:-1;;;;;4791:12821:23;12323:51:50;10595:530;4791:12821:23;12323:51:50;:::i;:::-;335:27:38;;;;12384:137:50;;;;;;11589:938;:::o;:::-;12323:51;;-1:-1:-1;;;;;10595:530:50;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4791:12821:23;12323:51:50;:::i;9398:1050::-;-1:-1:-1;;;;;4791:12821:23;;;;;;9600:29:50;9596:98;;9398:1050;-1:-1:-1;;;;;9783:262:50;;;;;;;10262:64;;-1:-1:-1;;;;;4791:12821:23;;;;1862:10:53;;;4791:12821:23;;;;-1:-1:-1;;;;;;;4791:12821:23;10262:64:50;:::i;:::-;558:86:54;;;;;;;;;9398:1050:50;:::o;9783:262::-;;;;;;;9596:98;9631:63;9596:98;;9398:1050;;-1:-1:-1;;;;;4791:12821:23;;;;;;9600:29:50;9596:98;;9398:1050;-1:-1:-1;;;;;9783:262:50;;;;;;;10361:70;;:54;;-1:-1:-1;;;;;4791:12821:23;;;;1862:10:53;;;4791:12821:23;;;;-1:-1:-1;;;;;;;4791:12821:23;10361:54:50;:::i;:::-;:70;:::i;9596:98::-;;;;653:664:33;742:5;;4791:12821:23;;759:552:33;;;-1:-1:-1;;;;;759:552:33;;;;;;-1:-1:-1;;;;;759:552:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;653:664;:::o;5164:296:39:-;;;;5315:25;;;;;:::i;:::-;5358;;;;;;5354:90;;5164:296::o;5354:90::-;4791:12821:23;;;5416:12:39;;;4791:12821:23;;5164:296:39:o;1535:2065:50:-;;;1831:11;;1827:32;;-1:-1:-1;;;;;4791:12821:23;;;;;;;;;;;;;-1:-1:-1;;;;;;;4791:12821:23;;2951:462:50;;;;;;;;;;;3497:72;4791:12821:23;3497:60:50;4791:12821:23;;;3497:60:50;;:::i;2951:462::-;;1946:1648;2951:462;;;;1827:32;1844:15;;;:::o;1535:2065::-;;;1831:11;;1827:32;;4791:12821:23;;-1:-1:-1;;;;;;;4791:12821:23;;-1:-1:-1;;;;;4791:12821:23;;;;;;2054:16:50;4791:12821:23;;2054:16:50;:::i;:::-;:28;2050:345;;1535:2065;2526:21;;2525:32;2526:21;;;:::i;:::-;2525:32;:::i;:::-;558:86:54;;;;;;;;-1:-1:-1;;;;;4791:12821:23;;1535:2065:50:o;2050:345::-;258:35:37;;2174:25:50;;;2050:345;2170:207;-1:-1:-1;;;;;4791:12821:23;2293:60:50;;4791:12821:23;;-1:-1:-1;2293:60:50;:::i;:::-;4791:12821:23;2278:76:50;:::o;460:155:49:-;-1:-1:-1;;;;;4791:12821:23;;;460:155:49;562:6;;558:50;;460:155::o", + "linkReferences": {}, + "immutableReferences": { "36937": [{ "start": 9301, "length": 32 }] } + }, + "methodIdentifiers": { + "allowance(address,address,uint256)": "598af9e7", + "approve(address,uint256,uint256)": "426a8493", + "balanceOf(address,uint256)": "00fdd58e", + "burn(address,uint256,uint256)": "f5298aca", + "clear(address,uint256)": "80f0b44c", + "collectProtocolFees(address,address,uint256)": "8161b874", + "donate((address,address,uint24,int24,address),uint256,uint256,bytes)": "234266d7", + "extsload(bytes32)": "1e2eaeaf", + "extsload(bytes32,uint256)": "35fd631a", + "extsload(bytes32[])": "dbd035ff", + "exttload(bytes32)": "f135baaa", + "exttload(bytes32[])": "9bf6645f", + "initialize((address,address,uint24,int24,address),uint160)": "6276cbbe", + "isOperator(address,address)": "b6363cf2", + "mint(address,uint256,uint256)": "156e29f6", + "modifyLiquidity((address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)": "5a6bcfda", + "owner()": "8da5cb5b", + "protocolFeeController()": "f02de3b2", + "protocolFeesAccrued(address)": "97e8cd4e", + "setOperator(address,bool)": "558a7297", + "setProtocolFee((address,address,uint24,int24,address),uint24)": "7e87ce7d", + "setProtocolFeeController(address)": "2d771389", + "settle()": "11da60b4", + "settleFor(address)": "3dd45adb", + "supportsInterface(bytes4)": "01ffc9a7", + "swap((address,address,uint24,int24,address),(bool,int256,uint160),bytes)": "f3cd914c", + "sync(address)": "a5841194", + "take(address,address,uint256)": "0b0d9c09", + "transfer(address,uint256,uint256)": "095bcdb6", + "transferFrom(address,address,uint256,uint256)": "fe99049a", + "transferOwnership(address)": "f2fde38b", + "unlock(bytes)": "48c89491", + "updateDynamicLPFee((address,address,uint24,int24,address),uint24)": "52759651" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AlreadyUnlocked\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency1\",\"type\":\"address\"}],\"name\":\"CurrenciesOutOfOrderOrEqual\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CurrencyNotSettled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DelegateCallNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCaller\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ManagerLocked\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MustClearExactPositiveDelta\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NonzeroNativeValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolNotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProtocolFeeCurrencySynced\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"}],\"name\":\"ProtocolFeeTooLarge\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SwapAmountCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"}],\"name\":\"TickSpacingTooLarge\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"}],\"name\":\"TickSpacingTooSmall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnauthorizedDynamicLPFeeUpdate\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"PoolId\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Donate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"PoolId\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"name\":\"Initialize\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"PoolId\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"liquidityDelta\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"ModifyLiquidity\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"OperatorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"protocolFeeController\",\"type\":\"address\"}],\"name\":\"ProtocolFeeControllerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"PoolId\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint24\",\"name\":\"protocolFee\",\"type\":\"uint24\"}],\"name\":\"ProtocolFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"PoolId\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"int128\",\"name\":\"amount0\",\"type\":\"int128\"},{\"indexed\":false,\"internalType\":\"int128\",\"name\":\"amount1\",\"type\":\"int128\"},{\"indexed\":false,\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"}],\"name\":\"Swap\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Currency\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"clear\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"collectProtocolFees\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountCollected\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"hookData\",\"type\":\"bytes\"}],\"name\":\"donate\",\"outputs\":[{\"internalType\":\"BalanceDelta\",\"name\":\"delta\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"extsload\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"startSlot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nSlots\",\"type\":\"uint256\"}],\"name\":\"extsload\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"slots\",\"type\":\"bytes32[]\"}],\"name\":\"extsload\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"slots\",\"type\":\"bytes32[]\"}],\"name\":\"exttload\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"exttload\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"}],\"name\":\"initialize\",\"outputs\":[{\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isOperator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOperator\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"int256\",\"name\":\"liquidityDelta\",\"type\":\"int256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"internalType\":\"struct ModifyLiquidityParams\",\"name\":\"params\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"hookData\",\"type\":\"bytes\"}],\"name\":\"modifyLiquidity\",\"outputs\":[{\"internalType\":\"BalanceDelta\",\"name\":\"callerDelta\",\"type\":\"int256\"},{\"internalType\":\"BalanceDelta\",\"name\":\"feesAccrued\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"protocolFeeController\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Currency\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"protocolFeesAccrued\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setOperator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"internalType\":\"uint24\",\"name\":\"newProtocolFee\",\"type\":\"uint24\"}],\"name\":\"setProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"setProtocolFeeController\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"settleFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"zeroForOne\",\"type\":\"bool\"},{\"internalType\":\"int256\",\"name\":\"amountSpecified\",\"type\":\"int256\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceLimitX96\",\"type\":\"uint160\"}],\"internalType\":\"struct SwapParams\",\"name\":\"params\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"hookData\",\"type\":\"bytes\"}],\"name\":\"swap\",\"outputs\":[{\"internalType\":\"BalanceDelta\",\"name\":\"swapDelta\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Currency\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"sync\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Currency\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"take\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"unlock\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"Currency\",\"name\":\"currency0\",\"type\":\"address\"},{\"internalType\":\"Currency\",\"name\":\"currency1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"internalType\":\"contract IHooks\",\"name\":\"hooks\",\"type\":\"address\"}],\"internalType\":\"struct PoolKey\",\"name\":\"key\",\"type\":\"tuple\"},{\"internalType\":\"uint24\",\"name\":\"newDynamicLPFee\",\"type\":\"uint24\"}],\"name\":\"updateDynamicLPFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Donate(bytes32,address,uint256,uint256)\":{\"params\":{\"amount0\":\"The amount donated in currency0\",\"amount1\":\"The amount donated in currency1\",\"id\":\"The abi encoded hash of the pool key struct for the pool that was donated to\",\"sender\":\"The address that initiated the donate call\"}},\"Initialize(bytes32,address,address,uint24,int24,address,uint160,int24)\":{\"params\":{\"currency0\":\"The first currency of the pool by address sort order\",\"currency1\":\"The second currency of the pool by address sort order\",\"fee\":\"The fee collected upon every swap in the pool, denominated in hundredths of a bip\",\"hooks\":\"The hooks contract address for the pool, or address(0) if none\",\"id\":\"The abi encoded hash of the pool key struct for the new pool\",\"sqrtPriceX96\":\"The price of the pool on initialization\",\"tick\":\"The initial tick of the pool corresponding to the initialized price\",\"tickSpacing\":\"The minimum number of ticks between initialized ticks\"}},\"ModifyLiquidity(bytes32,address,int24,int24,int256,bytes32)\":{\"params\":{\"id\":\"The abi encoded hash of the pool key struct for the pool that was modified\",\"liquidityDelta\":\"The amount of liquidity that was added or removed\",\"salt\":\"The extra data to make positions unique\",\"sender\":\"The address that modified the pool\",\"tickLower\":\"The lower tick of the position\",\"tickUpper\":\"The upper tick of the position\"}},\"Swap(bytes32,address,int128,int128,uint160,uint128,int24,uint24)\":{\"params\":{\"amount0\":\"The delta of the currency0 balance of the pool\",\"amount1\":\"The delta of the currency1 balance of the pool\",\"fee\":\"The swap fee in hundredths of a bip\",\"id\":\"The abi encoded hash of the pool key struct for the pool that was modified\",\"liquidity\":\"The liquidity of the pool after the swap\",\"sender\":\"The address that initiated the swap call, and that received the callback\",\"sqrtPriceX96\":\"The sqrt(price) of the pool after the swap, as a Q64.96\",\"tick\":\"The log base 1.0001 of the price of the pool after the swap\"}}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of the token.\",\"id\":\"The id of the token.\",\"spender\":\"The address of the spender.\"},\"returns\":{\"_0\":\"bool True, always\"}},\"burn(address,uint256,uint256)\":{\"details\":\"The id is converted to a uint160 to correspond to a currency address If the upper 12 bytes are not 0, they will be 0-ed out\",\"params\":{\"amount\":\"The amount of currency to burn\",\"from\":\"The address to burn the tokens from\",\"id\":\"The currency address to burn from ERC6909s, as a uint256\"}},\"clear(address,uint256)\":{\"details\":\"This could be used to clear a balance that is considered dust. Additionally, the amount must be the exact positive balance. This is to enforce that the caller is aware of the amount being cleared.\"},\"collectProtocolFees(address,address,uint256)\":{\"details\":\"This will revert if the contract is unlocked\",\"params\":{\"amount\":\"The amount of currency to withdraw\",\"currency\":\"The currency to withdraw\",\"recipient\":\"The address to receive the protocol fees\"},\"returns\":{\"amountCollected\":\"The amount of currency successfully withdrawn\"}},\"donate((address,address,uint24,int24,address),uint256,uint256,bytes)\":{\"details\":\"Calls to donate can be frontrun adding just-in-time liquidity, with the aim of receiving a portion donated funds. Donors should keep this in mind when designing donation mechanisms.This function donates to in-range LPs at slot0.tick. In certain edge-cases of the swap algorithm, the `sqrtPrice` of a pool can be at the lower boundary of tick `n`, but the `slot0.tick` of the pool is already `n - 1`. In this case a call to `donate` would donate to tick `n - 1` (slot0.tick) not tick `n` (getTickAtSqrtPrice(slot0.sqrtPriceX96)). Read the comments in `Pool.swap()` for more information about this.\",\"params\":{\"amount0\":\"The amount of currency0 to donate\",\"amount1\":\"The amount of currency1 to donate\",\"hookData\":\"The data to pass through to the donate hooks\",\"key\":\"The key of the pool to donate to\"},\"returns\":{\"delta\":\"BalanceDelta The delta of the caller after the donate\"}},\"extsload(bytes32)\":{\"params\":{\"slot\":\"Key of slot to sload\"},\"returns\":{\"_0\":\"The value of the slot as bytes32\"}},\"extsload(bytes32,uint256)\":{\"params\":{\"nSlots\":\"Number of slots to load into return value\",\"startSlot\":\"Key of slot to start sloading from\"},\"returns\":{\"_0\":\"List of loaded values.\"}},\"extsload(bytes32[])\":{\"params\":{\"slots\":\"List of slots to SLOAD from.\"},\"returns\":{\"_0\":\"List of loaded values.\"}},\"exttload(bytes32)\":{\"params\":{\"slot\":\"Key of slot to tload\"},\"returns\":{\"_0\":\"The value of the slot as bytes32\"}},\"exttload(bytes32[])\":{\"params\":{\"slots\":\"List of slots to tload\"},\"returns\":{\"_0\":\"List of loaded values\"}},\"initialize((address,address,uint24,int24,address),uint160)\":{\"details\":\"A swap fee totaling MAX_SWAP_FEE (100%) makes exact output swaps impossible since the input is entirely consumed by the fee\",\"params\":{\"key\":\"The pool key for the pool to initialize\",\"sqrtPriceX96\":\"The initial square root price\"},\"returns\":{\"tick\":\"The initial tick of the pool\"}},\"mint(address,uint256,uint256)\":{\"details\":\"The id is converted to a uint160 to correspond to a currency address If the upper 12 bytes are not 0, they will be 0-ed out\",\"params\":{\"amount\":\"The amount of currency to mint\",\"id\":\"The currency address to mint to ERC6909s, as a uint256\",\"to\":\"The address to mint the tokens to\"}},\"modifyLiquidity((address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\":{\"details\":\"Poke by calling with a zero liquidityDeltaNote that feesAccrued can be artificially inflated by a malicious actor and integrators should be careful using the value For pools with a single liquidity position, actors can donate to themselves to inflate feeGrowthGlobal (and consequently feesAccrued) atomically donating and collecting fees in the same unlockCallback may make the inflated value more extreme\",\"params\":{\"hookData\":\"The data to pass through to the add/removeLiquidity hooks\",\"key\":\"The pool to modify liquidity in\",\"params\":\"The parameters for modifying the liquidity\"},\"returns\":{\"callerDelta\":\"The balance delta of the caller of modifyLiquidity. This is the total of both principal, fee deltas, and hook deltas if applicable\",\"feesAccrued\":\"The balance delta of the fees generated in the liquidity range. Returned for informational purposes\"}},\"setOperator(address,bool)\":{\"params\":{\"approved\":\"The approval status.\",\"operator\":\"The address of the operator.\"},\"returns\":{\"_0\":\"bool True, always\"}},\"setProtocolFee((address,address,uint24,int24,address),uint24)\":{\"params\":{\"key\":\"The key of the pool to set a protocol fee for\",\"newProtocolFee\":\"The fee to set\"}},\"setProtocolFeeController(address)\":{\"params\":{\"controller\":\"The new protocol fee controller\"}},\"settle()\":{\"returns\":{\"_0\":\"The amount of currency settled\"}},\"settleFor(address)\":{\"params\":{\"recipient\":\"The address to credit for the payment\"},\"returns\":{\"_0\":\"The amount of currency settled\"}},\"swap((address,address,uint24,int24,address),(bool,int256,uint160),bytes)\":{\"details\":\"Swapping on low liquidity pools may cause unexpected swap amounts when liquidity available is less than amountSpecified. Additionally note that if interacting with hooks that have the BEFORE_SWAP_RETURNS_DELTA_FLAG or AFTER_SWAP_RETURNS_DELTA_FLAG the hook may alter the swap input/output. Integrators should perform checks on the returned swapDelta.\",\"params\":{\"hookData\":\"The data to pass through to the swap hooks\",\"key\":\"The pool to swap in\",\"params\":\"The parameters for swapping\"},\"returns\":{\"swapDelta\":\"The balance delta of the address swapping\"}},\"sync(address)\":{\"details\":\"This MUST be called before any ERC20 tokens are sent into the contract, but can be skipped for native tokens because the amount to settle is determined by the sent value. However, if an ERC20 token has been synced and not settled, and the caller instead wants to settle native funds, this function can be called with the native currency to then be able to settle the native currency\"},\"take(address,address,uint256)\":{\"details\":\"Will revert if the requested amount is not available, consider using `mint` insteadCan also be used as a mechanism for free flash loans\",\"params\":{\"amount\":\"The amount of currency to withdraw\",\"currency\":\"The currency to withdraw from the pool manager\",\"to\":\"The address to withdraw to\"}},\"transfer(address,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of the token.\",\"id\":\"The id of the token.\",\"receiver\":\"The address of the receiver.\"},\"returns\":{\"_0\":\"bool True, always, unless the function reverts\"}},\"transferFrom(address,address,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of the token.\",\"id\":\"The id of the token.\",\"receiver\":\"The address of the receiver.\",\"sender\":\"The address of the sender.\"},\"returns\":{\"_0\":\"bool True, always, unless the function reverts\"}},\"unlock(bytes)\":{\"details\":\"The only functions callable without an unlocking are `initialize` and `updateDynamicLPFee`\",\"params\":{\"data\":\"Any data to pass to the callback, via `IUnlockCallback(msg.sender).unlockCallback(data)`\"},\"returns\":{\"result\":\"The data returned by the call to `IUnlockCallback(msg.sender).unlockCallback(data)`\"}},\"updateDynamicLPFee((address,address,uint24,int24,address),uint24)\":{\"details\":\"A swap fee totaling MAX_SWAP_FEE (100%) makes exact output swaps impossible since the input is entirely consumed by the fee\",\"params\":{\"key\":\"The key of the pool to update dynamic LP fees for\",\"newDynamicLPFee\":\"The new dynamic pool LP fee\"}}},\"title\":\"PoolManager\",\"version\":1},\"userdoc\":{\"errors\":{\"AlreadyUnlocked()\":[{\"notice\":\"Thrown when unlock is called, but the contract is already unlocked\"}],\"CurrenciesOutOfOrderOrEqual(address,address)\":[{\"notice\":\"PoolKey must have currencies where address(currency0) < address(currency1)\"}],\"CurrencyNotSettled()\":[{\"notice\":\"Thrown when a currency is not netted out after the contract is unlocked\"}],\"InvalidCaller()\":[{\"notice\":\"Thrown when collectProtocolFees or setProtocolFee is not called by the controller.\"}],\"ManagerLocked()\":[{\"notice\":\"Thrown when a function is called that requires the contract to be unlocked, but it is not\"}],\"MustClearExactPositiveDelta()\":[{\"notice\":\"Thrown when `clear` is called with an amount that is not exactly equal to the open currency delta.\"}],\"NonzeroNativeValue()\":[{\"notice\":\"Thrown when native currency is passed to a non native settlement\"}],\"PoolNotInitialized()\":[{\"notice\":\"Thrown when trying to interact with a non-initialized pool\"}],\"ProtocolFeeCurrencySynced()\":[{\"notice\":\"Thrown when collectProtocolFees is attempted on a token that is synced.\"}],\"ProtocolFeeTooLarge(uint24)\":[{\"notice\":\"Thrown when protocol fee is set too high\"}],\"SwapAmountCannotBeZero()\":[{\"notice\":\"Thrown when trying to swap amount of 0\"}],\"TickSpacingTooLarge(int24)\":[{\"notice\":\"Pools are limited to type(int16).max tickSpacing in #initialize, to prevent overflow\"}],\"TickSpacingTooSmall(int24)\":[{\"notice\":\"Pools must have a positive non-zero tickSpacing passed to #initialize\"}],\"UnauthorizedDynamicLPFeeUpdate()\":[{\"notice\":\"Thrown when a call to updateDynamicLPFee is made by an address that is not the hook, or on a pool that does not have a dynamic swap fee.\"}]},\"events\":{\"Donate(bytes32,address,uint256,uint256)\":{\"notice\":\"Emitted for donations\"},\"Initialize(bytes32,address,address,uint24,int24,address,uint160,int24)\":{\"notice\":\"Emitted when a new pool is initialized\"},\"ModifyLiquidity(bytes32,address,int24,int24,int256,bytes32)\":{\"notice\":\"Emitted when a liquidity position is modified\"},\"ProtocolFeeControllerUpdated(address)\":{\"notice\":\"Emitted when the protocol fee controller address is updated in setProtocolFeeController.\"},\"ProtocolFeeUpdated(bytes32,uint24)\":{\"notice\":\"Emitted when the protocol fee is updated for a pool.\"},\"Swap(bytes32,address,int128,int128,uint160,uint128,int24,uint24)\":{\"notice\":\"Emitted for swaps between currency0 and currency1\"}},\"kind\":\"user\",\"methods\":{\"allowance(address,address,uint256)\":{\"notice\":\"Spender allowance of an id.\"},\"approve(address,uint256,uint256)\":{\"notice\":\"Approves an amount of an id to a spender.\"},\"balanceOf(address,uint256)\":{\"notice\":\"Owner balance of an id.\"},\"burn(address,uint256,uint256)\":{\"notice\":\"Called by the user to move value from ERC6909 balance\"},\"clear(address,uint256)\":{\"notice\":\"WARNING - Any currency that is cleared, will be non-retrievable, and locked in the contract permanently. A call to clear will zero out a positive balance WITHOUT a corresponding transfer.\"},\"collectProtocolFees(address,address,uint256)\":{\"notice\":\"Collects the protocol fees for a given recipient and currency, returning the amount collected\"},\"donate((address,address,uint24,int24,address),uint256,uint256,bytes)\":{\"notice\":\"Donate the given currency amounts to the in-range liquidity providers of a pool\"},\"extsload(bytes32)\":{\"notice\":\"Called by external contracts to access granular pool state\"},\"extsload(bytes32,uint256)\":{\"notice\":\"Called by external contracts to access granular pool state\"},\"extsload(bytes32[])\":{\"notice\":\"Called by external contracts to access sparse pool state\"},\"exttload(bytes32)\":{\"notice\":\"Called by external contracts to access transient storage of the contract\"},\"exttload(bytes32[])\":{\"notice\":\"Called by external contracts to access sparse transient pool state\"},\"initialize((address,address,uint24,int24,address),uint160)\":{\"notice\":\"Initialize the state for a given pool ID\"},\"isOperator(address,address)\":{\"notice\":\"Checks if a spender is approved by an owner as an operator\"},\"mint(address,uint256,uint256)\":{\"notice\":\"Called by the user to move value into ERC6909 balance\"},\"modifyLiquidity((address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\":{\"notice\":\"Modify the liquidity for the given pool\"},\"protocolFeeController()\":{\"notice\":\"Returns the current protocol fee controller address\"},\"protocolFeesAccrued(address)\":{\"notice\":\"Given a currency address, returns the protocol fees accrued in that currency\"},\"setOperator(address,bool)\":{\"notice\":\"Sets or removes an operator for the caller.\"},\"setProtocolFee((address,address,uint24,int24,address),uint24)\":{\"notice\":\"Sets the protocol fee for the given pool\"},\"setProtocolFeeController(address)\":{\"notice\":\"Sets the protocol fee controller\"},\"settle()\":{\"notice\":\"Called by the user to pay what is owed\"},\"settleFor(address)\":{\"notice\":\"Called by the user to pay on behalf of another address\"},\"swap((address,address,uint24,int24,address),(bool,int256,uint160),bytes)\":{\"notice\":\"Swap against the given pool\"},\"sync(address)\":{\"notice\":\"Writes the current ERC20 balance of the specified currency to transient storage This is used to checkpoint balances for the manager and derive deltas for the caller.\"},\"take(address,address,uint256)\":{\"notice\":\"Called by the user to net out some value owed to the user\"},\"transfer(address,uint256,uint256)\":{\"notice\":\"Transfers an amount of an id from the caller to a receiver.\"},\"transferFrom(address,address,uint256,uint256)\":{\"notice\":\"Transfers an amount of an id from a sender to a receiver.\"},\"unlock(bytes)\":{\"notice\":\"All interactions on the contract that account deltas require unlocking. A caller that calls `unlock` must implement `IUnlockCallback(msg.sender).unlockCallback(data)`, where they interact with the remaining functions on this contract.\"},\"updateDynamicLPFee((address,address,uint24,int24,address),uint24)\":{\"notice\":\"Updates the pools lp fees for the a pool that has enabled dynamic lp fees.\"}},\"notice\":\"Holds the state for all pools\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/v4-core/src/PoolManager.sol\":\"PoolManager\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/=lib/v4-core/node_modules/@ensdomains/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@pythnetwork/entropy-sdk-solidity/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@pythnetwork/pyth-sdk-solidity/=node_modules/@pythnetwork/pyth-sdk-solidity/\",\":@uniswap/v4-core/=lib/v4-core/\",\":@uniswap/v4-periphery/=lib/v4-periphery/\",\":ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/v4-periphery/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hardhat/=lib/v4-core/node_modules/hardhat/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":permit2/=lib/v4-periphery/lib/permit2/\",\":pyth-sdk-solidity/=lib/pyth-sdk-solidity/\",\":solmate/=lib/v4-core/lib/solmate/\",\":v4-core/=lib/v4-core/\",\":v4-periphery/=lib/v4-periphery/\"],\"viaIR\":true},\"sources\":{\"lib/v4-core/lib/solmate/src/auth/Owned.sol\":{\"keccak256\":\"0xfedb27d14c508342c33eb067c9a02eabcdb0f9dcf93b04ded1001f580d12d0ea\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1ff52bbee698b9cf9e4574615e6550be0887ccf355f6571e23d6f25b332e79b4\",\"dweb:/ipfs/QmVorA2apojVRStzS7h8aFccR3Uv32G6HVtBtFHZrE7YXx\"]},\"lib/v4-core/src/ERC6909.sol\":{\"keccak256\":\"0x22476a1c183be1b547a509b3e6906abaccb6408375f798fce805ff7877aca09f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85580e1563ea0556705132fb6bd038ca4aa355749039923853ebcb76b7c84e6\",\"dweb:/ipfs/QmVoxPrbagRKpFdRWoaCSKmStYLZrhNFuedcuyGycSGR7q\"]},\"lib/v4-core/src/ERC6909Claims.sol\":{\"keccak256\":\"0xf496ef3a5a9bf4f4aa2eec951dbeff09a01ef058bb9f64b1664cf46c9e85cd49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a0a97c359a7a4c526ba9fc4ceb20af8050f9cf7886ea7e1f38c9c10b4a3750c\",\"dweb:/ipfs/QmPy6pCQbvzCdJRqG1thHRSwEZoLBAaLo3KQnueL3wxb8i\"]},\"lib/v4-core/src/Extsload.sol\":{\"keccak256\":\"0x784074bd04a1541c7c6ace074e30245746133fd37c3ba16b025dce394db986ce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35f1f4fb306bf01e98b7eca012b85f3ab978b39fa5136193363e2519c4435e51\",\"dweb:/ipfs/QmeGrjGMt71dJymVhkEadh5CuCW5GxRqNEZLi5AJxvC5tU\"]},\"lib/v4-core/src/Exttload.sol\":{\"keccak256\":\"0x769ee2733a08112c652274f4b972c45fb56cc46109f233b9a30f81561b15dd54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd19e88d50ae77c1ed5581baca1c75b3fb828d0b58cded90188d55c4e336266c\",\"dweb:/ipfs/Qmc8YM6Tfpwwa4qivHHzRxNdhZzdzGiD7VexWsDvkaQTxG\"]},\"lib/v4-core/src/NoDelegateCall.sol\":{\"keccak256\":\"0xacb81aecb7c74c86650a035462dae38c313b4b7b5842e14b645f864f61da2b51\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363a0e15fc30ea68a5d52a78772facecde6433ea156e3ec2ce25068c97cd5ad6\",\"dweb:/ipfs/QmYhWaF3wH71SDx5TZr9qEXXQf5FYQvdjoo3B2qWiAbm18\"]},\"lib/v4-core/src/PoolManager.sol\":{\"keccak256\":\"0xf9ff5d5e261a21a5e72a01c5badd988beeff437e0f6b82fd56f80be42d727c07\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://4a92a25102c73245e1343f0dbc8400b8bac3c464ba064aa5574b9584a12e6c72\",\"dweb:/ipfs/QmfCcvspZ8XzDeQjEd2FfM76wzkfE9KDgBoqAcqhf3nsnu\"]},\"lib/v4-core/src/ProtocolFees.sol\":{\"keccak256\":\"0x81362ef1d19670b41cefc2b6f2dc0333b6743fe39a1929edd36bd9b6a1111755\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de483bbd8bf9a53b9644d7f9a6a6fe77ae527b755cf29e1db8725de89e70c7aa\",\"dweb:/ipfs/Qmex3PcgJGbYsuDNaMXc8mg5fW1DNaPGiNToPpAAzz6GEq\"]},\"lib/v4-core/src/interfaces/IExtsload.sol\":{\"keccak256\":\"0x80b53ca4907d6f0088c3b931f2b72cad1dc4615a95094d96bd0fb8dff8d5ba43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://375c69148622aab7a3537d5fd37d373a8e9731022c8d87bdaee46233b0a99fe1\",\"dweb:/ipfs/QmXFjdoYRxsA5B1kyuxEXgNf3FBoL1zPvy26Qy8EtpdFRN\"]},\"lib/v4-core/src/interfaces/IExttload.sol\":{\"keccak256\":\"0xc6b68283ebd8d1c789df536756726eed51c589134bb20821b236a0d22a135937\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://294394f72dfc219689209f4130d85601dfd0d63c8d47578050d312db70f9b6c8\",\"dweb:/ipfs/QmTDMQ3oxCGHgEBU48a3Lp4S1rRjc8vVCxkhE5ZNej1bsY\"]},\"lib/v4-core/src/interfaces/IHooks.sol\":{\"keccak256\":\"0xc131ffa2d04c10a012fe715fe2c115811526b7ea34285cf0a04ce7ce8320da8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b212358897db5d99c21244d88f97b2e788527552cb430629b472a8cc6289aec\",\"dweb:/ipfs/QmQtwV4dDe2RYk2ErLpaAX7U82jWh1L6Lw2HRuKDvBi84G\"]},\"lib/v4-core/src/interfaces/IPoolManager.sol\":{\"keccak256\":\"0xbdab3544da3d32dfdf7457baa94e17d5a3012952428559e013ffac45d067038e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce95ff864468e37c76adf71df061d4f3d6f3a5ec1f9bc3aea090463bc72798f4\",\"dweb:/ipfs/QmSbWh1pLbz51yQF4HEu5NRhr8XVv9JYGEw1hq1HudAnCi\"]},\"lib/v4-core/src/interfaces/IProtocolFees.sol\":{\"keccak256\":\"0x32a666e588a2f66334430357bb1e2424fe7eebeb98a3364b1dd16eb6ccca9848\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85751d302125881f72e5f8af051c2d5d9b1f606ebaea8ca7d04fccdd27cc252d\",\"dweb:/ipfs/QmeRwomeh9NWm6A6fgNA4KZPQZHPpdKsPQyYsHSFmvud7J\"]},\"lib/v4-core/src/interfaces/callback/IUnlockCallback.sol\":{\"keccak256\":\"0x58c82f2bd9d7c097ed09bd0991fedc403b0ec270eb3d0158bfb095c06a03d719\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91168ca26a10980df2cdc3fbfe8ddf372c002b7ef19e3c59a0c9870d64198f1b\",\"dweb:/ipfs/QmUSpaM825vd1SwvF38esgbdLgYiPwefKaFERTWvUi6uSK\"]},\"lib/v4-core/src/interfaces/external/IERC20Minimal.sol\":{\"keccak256\":\"0xeccadf1bf69ba2eb51f2fe4fa511bc7bb05bbd6b9f9a3cb8e5d83d9582613e0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://118757369892687b99ef46ce28d6861f62c098285bd7687a4f17f7e44e5f81de\",\"dweb:/ipfs/QmUxqbYqQtcEwwFbb9e6BBMePEaSgN8C45v6RKubD4ib8d\"]},\"lib/v4-core/src/interfaces/external/IERC6909Claims.sol\":{\"keccak256\":\"0xa586f345739e52b0488a0fe40b6e375cce67fdd25758408b0efcb5133ad96a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8c557b7e52abdbbd82e415a1acc27921446a7fd090b7d4877e52be72619547f\",\"dweb:/ipfs/QmXE2KNPbXmGX8BQF3ei6zhzRTnhoTQg39XmqMnkhbr6QK\"]},\"lib/v4-core/src/libraries/BitMath.sol\":{\"keccak256\":\"0x51b9be4f5c4fd3e80cbc9631a65244a2eb2be250b6b7f128a2035080e18aee8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe98bbd5498e912146b9319827fc63621eb66ff55d5baae0fa02a7a972ab8d1e\",\"dweb:/ipfs/QmY5hCuyrtgsJtk4AavrxcvBkRrChfr4N6ZnhdC8roPpNi\"]},\"lib/v4-core/src/libraries/CurrencyDelta.sol\":{\"keccak256\":\"0x80dbd898cf0f90c5c27192689b16c34edc765d6ab21b8358e3bb792c7fef238c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://107698da024313f132d9fe28deb920b5c03d14624889c3ce5720e588f03635bb\",\"dweb:/ipfs/QmQteUbhj5SsWbvSF6U8niBUSrETqVbEwULc8E7vS4Kbnn\"]},\"lib/v4-core/src/libraries/CurrencyReserves.sol\":{\"keccak256\":\"0x1576616129933fcdf3b684cea33cffd9c95e18fafbd2832a8c48ac3d8526d4c3\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://33b050efb9b81803b18f562271e7cca2ec5362c4d505860d6419b4a345636725\",\"dweb:/ipfs/QmQtFtTwKZ5pFVGD2ENDUXvp7ECFvzqeCuJ1miJcUHdmiX\"]},\"lib/v4-core/src/libraries/CustomRevert.sol\":{\"keccak256\":\"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd\",\"dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt\"]},\"lib/v4-core/src/libraries/FixedPoint128.sol\":{\"keccak256\":\"0xad236e10853f4b4b20a35a9bb52b857c4fc79874846b7e444e06ead7f2630542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0de1f9a06520b1a689660943faa14fc0b8344ab41fab9e6012ea34bff4b9b3eb\",\"dweb:/ipfs/QmRNMPTyko7W6d6KxuTsnDBa9oZgDK4xiwRRq3H9ASTbwy\"]},\"lib/v4-core/src/libraries/FixedPoint96.sol\":{\"keccak256\":\"0xef5c3fd41aee26bb12aa1c32873cfee88e67eddfe7c2b32283786265ac669741\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de298d02f662a1c36c7be0a150f18c2a161408a5d3e48432e707efd01fac9a4\",\"dweb:/ipfs/QmSiM4oeMmLVKmAtJXz2feYkv4R9ZcyBpkTRW5Nhw5KDyJ\"]},\"lib/v4-core/src/libraries/FullMath.sol\":{\"keccak256\":\"0x4fc73a00817193fd3cac1cc03d8167d21af97d75f1815a070ee31a90c702b4c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3b2d66d36b1ad56b1ab6e2eb8a816740877b40b461c93f125e88621c8378e52\",\"dweb:/ipfs/QmPGvMZzKQvNiWKd8aRzzdW7oAizwrMgcMtnaworDkVHFC\"]},\"lib/v4-core/src/libraries/Hooks.sol\":{\"keccak256\":\"0xd679b4b2d429689bc44f136050ebc958fb2d7d0d3a3c7b3e48c08ab4fba09aaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://287190cb72840e5eb63cc7a8a1d0b9150af17d8e4ea0323f47c7e7928f2033cb\",\"dweb:/ipfs/QmVfqWBnAQM2jUcuREDdvjcP21gNuLU35CoL3NG5CEhNcx\"]},\"lib/v4-core/src/libraries/LPFeeLibrary.sol\":{\"keccak256\":\"0xbf6914e01014e7c1044111feb7df7a3d96bb503b3da827ad8464b1955580d13b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33823c20a91882c9aacdcbb02f0558c05209f4d5954aa6dd4fa17c95664db475\",\"dweb:/ipfs/QmR7owkFgpfztpp1QUg3ut3nw9iPVQqLGP4hzgmZtRUQ2J\"]},\"lib/v4-core/src/libraries/LiquidityMath.sol\":{\"keccak256\":\"0x000ef2eadcc1eb7b2c18a77655f94e76e0e860f605783484657ef65fd6eda353\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a766b620a7a22798b43c6c1f23b5c6cff0ebf588deb89842bad05208d448cd99\",\"dweb:/ipfs/QmVKjaFJdzkqA3ey2Byum8iTCMssWVD8MmVC8rw62Tj5WD\"]},\"lib/v4-core/src/libraries/Lock.sol\":{\"keccak256\":\"0x9338be4b5695f1da5f3d3f7a3eeaf7a356c1045458289586ac0cbe9cef77c6d5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://485ec42ed6155469d612a9a0c18068ebfbad74448792a338a435503de3ef1b2c\",\"dweb:/ipfs/QmVnnv5u74MYatfRmBgrcfFYQcsMAJMG9jQ6ju8UiydKNF\"]},\"lib/v4-core/src/libraries/NonzeroDeltaCount.sol\":{\"keccak256\":\"0x0666ebd5d3528d7d52c48538296367a4cff97a578cf13365c51983fae3219b87\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://d27f1be3bd09d85c53d3e6a539dd6529ddd8b2b764ccb47fd7765fc81f9add59\",\"dweb:/ipfs/QmQdZujNXhKEXQBkKtF5jbdvo1yXMqPDUoBBaF9S5u3Kpm\"]},\"lib/v4-core/src/libraries/ParseBytes.sol\":{\"keccak256\":\"0x7533b13f53ee2c2c55500100b22ffd6e37e7523c27874edc98663d53a8672b15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82449058634fde28a085f3c59a6a5f412550c02181590593fd84c3e8b329aa17\",\"dweb:/ipfs/Qmev4E9Au6SsE4wsArChCwfg94KhHc5gYsEsZUnjF5sRLa\"]},\"lib/v4-core/src/libraries/Pool.sol\":{\"keccak256\":\"0xb8191707c5913f5e2f589cec5167e3fac4a5b86bd84f61fdba0fbe6a8ce8a3a0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a609f9c365f05becf61877d9dc767e7825bce8c34607dbfc0f0437a71f6ff407\",\"dweb:/ipfs/QmThDUzLePs2Hbp6XTpRSHT67rdsjQLhdmS6krm8cpKSey\"]},\"lib/v4-core/src/libraries/Position.sol\":{\"keccak256\":\"0xddab2a831f1befb6abf5567e77c4582169ca8156cf69eb4f22d8e87f7226a3f9\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c79fe61b50f3b70cff503abfa6f5643fcbefb9b794855bee1019b1e6d9c083b2\",\"dweb:/ipfs/QmbKmYNQesaMz8bo1b7TMHQcAwaDd3eDPrE5pAdPPZTtk5\"]},\"lib/v4-core/src/libraries/ProtocolFeeLibrary.sol\":{\"keccak256\":\"0xf483001899229ab10f5a626fe1c5866134d9e965b48ce6cf55ce0d7f74f7d8ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6ba9211a7f69bbb44649c35211eb29d193c09032ec600064ef9d04b4625dd8ba\",\"dweb:/ipfs/QmQSjQvtguYgMJSkkKRhHjxasfX9xfTbrbcZ1QmjUVb787\"]},\"lib/v4-core/src/libraries/SafeCast.sol\":{\"keccak256\":\"0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59\",\"dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj\"]},\"lib/v4-core/src/libraries/SqrtPriceMath.sol\":{\"keccak256\":\"0xf8079fe6e3460db495451d06b1705e18f1c4075c1af96a31ad313545f7082982\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://582fc51546723a0a8acccf782f69b530bacf9b3ef929458e82569b7121f0b138\",\"dweb:/ipfs/QmSBXcmqZdFsM7M4sRaiyQAxykCeMNFKyKgBcwSMTw1bcF\"]},\"lib/v4-core/src/libraries/SwapMath.sol\":{\"keccak256\":\"0x6baa782ae523269c079cc763639a9b91a25fcfa1743c049c76e43741ef494bd9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://035c337e62e05262a5bd5d3bc85bc9a383c1013001216b429f49cf1e129a0812\",\"dweb:/ipfs/QmU7s4h58Fh2A6mM8yeorZ2ygwEJMQw8zdZLLkHeDoSWxD\"]},\"lib/v4-core/src/libraries/TickBitmap.sol\":{\"keccak256\":\"0x6779f89e28a0b4af6e09d518caf014b7e8fc627400f5561f86fed11635b1458a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a64dee983106de3be3f968be94368c1e37592f5418aa2a39e8dd358d5a962b0d\",\"dweb:/ipfs/QmYuECZTiEeQVxDLYx6pBSSnVrg56Apw75bugQiM3FmGwy\"]},\"lib/v4-core/src/libraries/TickMath.sol\":{\"keccak256\":\"0x4e1a11e154eb06106cb1c4598f06cca5f5ca16eaa33494ba2f0e74981123eca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a79a57f7b240783b045168d1c4f774ac1812caf8f9a83cb6959a86b0b07b6c70\",\"dweb:/ipfs/QmTb5kvxwDNW8jDuQaqdJ445cCFejNkUqEB17Bjo8UBiva\"]},\"lib/v4-core/src/libraries/UnsafeMath.sol\":{\"keccak256\":\"0xa6e55e0a43a15df2df471d9972cd48f613d07c663ecb8bbeaf7623f6f99bcce4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02ea6e13879fc5a5f35149a2f1cd8af3a1f0877ff69101dad53841d16f515572\",\"dweb:/ipfs/QmcpL4gdG6hL2w1wqs2Vw4J1EFCwBs9T1Qd4p16CtECQkn\"]},\"lib/v4-core/src/types/BalanceDelta.sol\":{\"keccak256\":\"0xa719c8fe51e0a9524280178f19f6851bcc3b3b60e73618f3d60905d35ae5569f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7436928dc9de35c6c7c5c636cb51adaf295cfd590da83b19a004ae33cbec9ef9\",\"dweb:/ipfs/QmRJ9yZkUpzk4433GX3LgVVL8jwpbSYSUwXcucKisf3v4H\"]},\"lib/v4-core/src/types/BeforeSwapDelta.sol\":{\"keccak256\":\"0x2a774312d91285313d569da1a718c909655da5432310417692097a1d4dc83a78\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2c7a0379955cff9c17ab9e61f95e42909aa5947c22740f86ce940d09856f782\",\"dweb:/ipfs/QmaAuo8UBYXsGrVuKh8iRoAAdqwtg1jDq515cW1ZRP5m9K\"]},\"lib/v4-core/src/types/Currency.sol\":{\"keccak256\":\"0x4a0b84b282577ff6f8acf13ec9f4d32dbb9348748b49611d00e68bee96609c93\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45f9d62ab3d51b52957279e353853ba1547c3182c9a1e3d1846ada4a90263b01\",\"dweb:/ipfs/QmS8NG84ccQS1yXVD8cv3eKX7J1UKxuJhbUfHTQR2opKF5\"]},\"lib/v4-core/src/types/PoolId.sol\":{\"keccak256\":\"0x308311916ea0f5c2fd878b6a2751eb223d170a69e33f601fae56dfe3c5d392af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://669c2cd7ac17690b5d8831e0bda72822376c3a04b36afed6d31df4d75fe60918\",\"dweb:/ipfs/QmT6EpkxqU8VF3WsgrZ66F3s1cCQRffR95z1HDYZz7ph6y\"]},\"lib/v4-core/src/types/PoolKey.sol\":{\"keccak256\":\"0xf89856e0580d7a4856d3187a76858377ccee9d59702d230c338d84388221b786\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3118fa189025695c37fdf0bdd1190f085ad097484d3c88cf4c56d1db65f639\",\"dweb:/ipfs/QmamXpgtB8GV1CaFLvqefPWSoikLDhMk1yU4heBnVzU8gi\"]},\"lib/v4-core/src/types/PoolOperation.sol\":{\"keccak256\":\"0x7a1a107fc1f2208abb2c9364c8c54e56e98dca27673e9441bed2b949b6382162\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ad2470383bc5595d5af17840c64971f457adac68895a4db41ba5c71a4478e07\",\"dweb:/ipfs/QmdwKhBHDZFuqXrR2BfDBD9r7rB2ULGQBznsajRTkTmL4c\"]},\"lib/v4-core/src/types/Slot0.sol\":{\"keccak256\":\"0x8b4912fac7e25ea680056748121113f902d56f8b2640f421d5c38d438db11c1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c19b1ff5b951fb54129268d2be37d82c8bb3ea6e29ac9bc78a8a37794fc082b8\",\"dweb:/ipfs/QmTAQ2mUoiT77hoWJAfn9pyoGy47qaevn45QHrbyovGt2C\"]}},\"version\":1}", + "metadata": { + "compiler": { "version": "0.8.26+commit.8a97fa7a" }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "initialOwner", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { "inputs": [], "type": "error", "name": "AlreadyUnlocked" }, + { + "inputs": [ + { + "internalType": "address", + "name": "currency0", + "type": "address" + }, + { + "internalType": "address", + "name": "currency1", + "type": "address" + } + ], + "type": "error", + "name": "CurrenciesOutOfOrderOrEqual" + }, + { "inputs": [], "type": "error", "name": "CurrencyNotSettled" }, + { "inputs": [], "type": "error", "name": "DelegateCallNotAllowed" }, + { "inputs": [], "type": "error", "name": "InvalidCaller" }, + { "inputs": [], "type": "error", "name": "ManagerLocked" }, + { + "inputs": [], + "type": "error", + "name": "MustClearExactPositiveDelta" + }, + { "inputs": [], "type": "error", "name": "NonzeroNativeValue" }, + { "inputs": [], "type": "error", "name": "PoolNotInitialized" }, + { "inputs": [], "type": "error", "name": "ProtocolFeeCurrencySynced" }, + { + "inputs": [ + { "internalType": "uint24", "name": "fee", "type": "uint24" } + ], + "type": "error", + "name": "ProtocolFeeTooLarge" + }, + { "inputs": [], "type": "error", "name": "SwapAmountCannotBeZero" }, + { + "inputs": [ + { "internalType": "int24", "name": "tickSpacing", "type": "int24" } + ], + "type": "error", + "name": "TickSpacingTooLarge" + }, + { + "inputs": [ + { "internalType": "int24", "name": "tickSpacing", "type": "int24" } + ], + "type": "error", + "name": "TickSpacingTooSmall" + }, + { + "inputs": [], + "type": "error", + "name": "UnauthorizedDynamicLPFeeUpdate" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "spender", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256", + "indexed": true + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "Approval", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "PoolId", + "name": "id", + "type": "bytes32", + "indexed": true + }, + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "amount0", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "amount1", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "Donate", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "PoolId", + "name": "id", + "type": "bytes32", + "indexed": true + }, + { + "internalType": "Currency", + "name": "currency0", + "type": "address", + "indexed": true + }, + { + "internalType": "Currency", + "name": "currency1", + "type": "address", + "indexed": true + }, + { + "internalType": "uint24", + "name": "fee", + "type": "uint24", + "indexed": false + }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24", + "indexed": false + }, + { + "internalType": "contract IHooks", + "name": "hooks", + "type": "address", + "indexed": false + }, + { + "internalType": "uint160", + "name": "sqrtPriceX96", + "type": "uint160", + "indexed": false + }, + { + "internalType": "int24", + "name": "tick", + "type": "int24", + "indexed": false + } + ], + "type": "event", + "name": "Initialize", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "PoolId", + "name": "id", + "type": "bytes32", + "indexed": true + }, + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": true + }, + { + "internalType": "int24", + "name": "tickLower", + "type": "int24", + "indexed": false + }, + { + "internalType": "int24", + "name": "tickUpper", + "type": "int24", + "indexed": false + }, + { + "internalType": "int256", + "name": "liquidityDelta", + "type": "int256", + "indexed": false + }, + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32", + "indexed": false + } + ], + "type": "event", + "name": "ModifyLiquidity", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "operator", + "type": "address", + "indexed": true + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool", + "indexed": false + } + ], + "type": "event", + "name": "OperatorSet", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "newOwner", + "type": "address", + "indexed": true + } + ], + "type": "event", + "name": "OwnershipTransferred", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "protocolFeeController", + "type": "address", + "indexed": true + } + ], + "type": "event", + "name": "ProtocolFeeControllerUpdated", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "PoolId", + "name": "id", + "type": "bytes32", + "indexed": true + }, + { + "internalType": "uint24", + "name": "protocolFee", + "type": "uint24", + "indexed": false + } + ], + "type": "event", + "name": "ProtocolFeeUpdated", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "PoolId", + "name": "id", + "type": "bytes32", + "indexed": true + }, + { + "internalType": "address", + "name": "sender", + "type": "address", + "indexed": true + }, + { + "internalType": "int128", + "name": "amount0", + "type": "int128", + "indexed": false + }, + { + "internalType": "int128", + "name": "amount1", + "type": "int128", + "indexed": false + }, + { + "internalType": "uint160", + "name": "sqrtPriceX96", + "type": "uint160", + "indexed": false + }, + { + "internalType": "uint128", + "name": "liquidity", + "type": "uint128", + "indexed": false + }, + { + "internalType": "int24", + "name": "tick", + "type": "int24", + "indexed": false + }, + { + "internalType": "uint24", + "name": "fee", + "type": "uint24", + "indexed": false + } + ], + "type": "event", + "name": "Swap", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "caller", + "type": "address", + "indexed": false + }, + { + "internalType": "address", + "name": "from", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "to", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256", + "indexed": true + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "Transfer", + "anonymous": false + }, + { + "inputs": [ + { "internalType": "address", "name": "owner", "type": "address" }, + { "internalType": "address", "name": "spender", "type": "address" }, + { "internalType": "uint256", "name": "id", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function", + "name": "allowance", + "outputs": [ + { "internalType": "uint256", "name": "amount", "type": "uint256" } + ] + }, + { + "inputs": [ + { "internalType": "address", "name": "spender", "type": "address" }, + { "internalType": "uint256", "name": "id", "type": "uint256" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "approve", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] + }, + { + "inputs": [ + { "internalType": "address", "name": "owner", "type": "address" }, + { "internalType": "uint256", "name": "id", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function", + "name": "balanceOf", + "outputs": [ + { "internalType": "uint256", "name": "balance", "type": "uint256" } + ] + }, + { + "inputs": [ + { "internalType": "address", "name": "from", "type": "address" }, + { "internalType": "uint256", "name": "id", "type": "uint256" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "burn" + }, + { + "inputs": [ + { + "internalType": "Currency", + "name": "currency", + "type": "address" + }, + { "internalType": "uint256", "name": "amount", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "clear" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "Currency", + "name": "currency", + "type": "address" + }, + { "internalType": "uint256", "name": "amount", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "collectProtocolFees", + "outputs": [ + { + "internalType": "uint256", + "name": "amountCollected", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "struct PoolKey", + "name": "key", + "type": "tuple", + "components": [ + { + "internalType": "Currency", + "name": "currency0", + "type": "address" + }, + { + "internalType": "Currency", + "name": "currency1", + "type": "address" + }, + { "internalType": "uint24", "name": "fee", "type": "uint24" }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + }, + { + "internalType": "contract IHooks", + "name": "hooks", + "type": "address" + } + ] + }, + { "internalType": "uint256", "name": "amount0", "type": "uint256" }, + { "internalType": "uint256", "name": "amount1", "type": "uint256" }, + { "internalType": "bytes", "name": "hookData", "type": "bytes" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "donate", + "outputs": [ + { + "internalType": "BalanceDelta", + "name": "delta", + "type": "int256" + } + ] + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "slot", "type": "bytes32" } + ], + "stateMutability": "view", + "type": "function", + "name": "extsload", + "outputs": [ + { "internalType": "bytes32", "name": "", "type": "bytes32" } + ] + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "startSlot", + "type": "bytes32" + }, + { "internalType": "uint256", "name": "nSlots", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function", + "name": "extsload", + "outputs": [ + { "internalType": "bytes32[]", "name": "", "type": "bytes32[]" } + ] + }, + { + "inputs": [ + { + "internalType": "bytes32[]", + "name": "slots", + "type": "bytes32[]" + } + ], + "stateMutability": "view", + "type": "function", + "name": "extsload", + "outputs": [ + { "internalType": "bytes32[]", "name": "", "type": "bytes32[]" } + ] + }, + { + "inputs": [ + { + "internalType": "bytes32[]", + "name": "slots", + "type": "bytes32[]" + } + ], + "stateMutability": "view", + "type": "function", + "name": "exttload", + "outputs": [ + { "internalType": "bytes32[]", "name": "", "type": "bytes32[]" } + ] + }, + { + "inputs": [ + { "internalType": "bytes32", "name": "slot", "type": "bytes32" } + ], + "stateMutability": "view", + "type": "function", + "name": "exttload", + "outputs": [ + { "internalType": "bytes32", "name": "", "type": "bytes32" } + ] + }, + { + "inputs": [ + { + "internalType": "struct PoolKey", + "name": "key", + "type": "tuple", + "components": [ + { + "internalType": "Currency", + "name": "currency0", + "type": "address" + }, + { + "internalType": "Currency", + "name": "currency1", + "type": "address" + }, + { "internalType": "uint24", "name": "fee", "type": "uint24" }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + }, + { + "internalType": "contract IHooks", + "name": "hooks", + "type": "address" + } + ] + }, + { + "internalType": "uint160", + "name": "sqrtPriceX96", + "type": "uint160" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "initialize", + "outputs": [ + { "internalType": "int24", "name": "tick", "type": "int24" } + ] + }, + { + "inputs": [ + { "internalType": "address", "name": "owner", "type": "address" }, + { "internalType": "address", "name": "operator", "type": "address" } + ], + "stateMutability": "view", + "type": "function", + "name": "isOperator", + "outputs": [ + { "internalType": "bool", "name": "isOperator", "type": "bool" } + ] + }, + { + "inputs": [ + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "id", "type": "uint256" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "mint" + }, + { + "inputs": [ + { + "internalType": "struct PoolKey", + "name": "key", + "type": "tuple", + "components": [ + { + "internalType": "Currency", + "name": "currency0", + "type": "address" + }, + { + "internalType": "Currency", + "name": "currency1", + "type": "address" + }, + { "internalType": "uint24", "name": "fee", "type": "uint24" }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + }, + { + "internalType": "contract IHooks", + "name": "hooks", + "type": "address" + } + ] + }, + { + "internalType": "struct ModifyLiquidityParams", + "name": "params", + "type": "tuple", + "components": [ + { + "internalType": "int24", + "name": "tickLower", + "type": "int24" + }, + { + "internalType": "int24", + "name": "tickUpper", + "type": "int24" + }, + { + "internalType": "int256", + "name": "liquidityDelta", + "type": "int256" + }, + { "internalType": "bytes32", "name": "salt", "type": "bytes32" } + ] + }, + { "internalType": "bytes", "name": "hookData", "type": "bytes" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "modifyLiquidity", + "outputs": [ + { + "internalType": "BalanceDelta", + "name": "callerDelta", + "type": "int256" + }, + { + "internalType": "BalanceDelta", + "name": "feesAccrued", + "type": "int256" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "owner", + "outputs": [ + { "internalType": "address", "name": "", "type": "address" } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "protocolFeeController", + "outputs": [ + { "internalType": "address", "name": "", "type": "address" } + ] + }, + { + "inputs": [ + { + "internalType": "Currency", + "name": "currency", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "protocolFeesAccrued", + "outputs": [ + { "internalType": "uint256", "name": "amount", "type": "uint256" } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { "internalType": "bool", "name": "approved", "type": "bool" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setOperator", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] + }, + { + "inputs": [ + { + "internalType": "struct PoolKey", + "name": "key", + "type": "tuple", + "components": [ + { + "internalType": "Currency", + "name": "currency0", + "type": "address" + }, + { + "internalType": "Currency", + "name": "currency1", + "type": "address" + }, + { "internalType": "uint24", "name": "fee", "type": "uint24" }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + }, + { + "internalType": "contract IHooks", + "name": "hooks", + "type": "address" + } + ] + }, + { + "internalType": "uint24", + "name": "newProtocolFee", + "type": "uint24" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setProtocolFee" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setProtocolFeeController" + }, + { + "inputs": [], + "stateMutability": "payable", + "type": "function", + "name": "settle", + "outputs": [ + { "internalType": "uint256", "name": "", "type": "uint256" } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + } + ], + "stateMutability": "payable", + "type": "function", + "name": "settleFor", + "outputs": [ + { "internalType": "uint256", "name": "", "type": "uint256" } + ] + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "stateMutability": "view", + "type": "function", + "name": "supportsInterface", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] + }, + { + "inputs": [ + { + "internalType": "struct PoolKey", + "name": "key", + "type": "tuple", + "components": [ + { + "internalType": "Currency", + "name": "currency0", + "type": "address" + }, + { + "internalType": "Currency", + "name": "currency1", + "type": "address" + }, + { "internalType": "uint24", "name": "fee", "type": "uint24" }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + }, + { + "internalType": "contract IHooks", + "name": "hooks", + "type": "address" + } + ] + }, + { + "internalType": "struct SwapParams", + "name": "params", + "type": "tuple", + "components": [ + { + "internalType": "bool", + "name": "zeroForOne", + "type": "bool" + }, + { + "internalType": "int256", + "name": "amountSpecified", + "type": "int256" + }, + { + "internalType": "uint160", + "name": "sqrtPriceLimitX96", + "type": "uint160" + } + ] + }, + { "internalType": "bytes", "name": "hookData", "type": "bytes" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "swap", + "outputs": [ + { + "internalType": "BalanceDelta", + "name": "swapDelta", + "type": "int256" + } + ] + }, + { + "inputs": [ + { + "internalType": "Currency", + "name": "currency", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "sync" + }, + { + "inputs": [ + { + "internalType": "Currency", + "name": "currency", + "type": "address" + }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "take" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { "internalType": "uint256", "name": "id", "type": "uint256" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transfer", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] + }, + { + "inputs": [ + { "internalType": "address", "name": "sender", "type": "address" }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { "internalType": "uint256", "name": "id", "type": "uint256" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transferFrom", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] + }, + { + "inputs": [ + { "internalType": "address", "name": "newOwner", "type": "address" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transferOwnership" + }, + { + "inputs": [ + { "internalType": "bytes", "name": "data", "type": "bytes" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "unlock", + "outputs": [ + { "internalType": "bytes", "name": "result", "type": "bytes" } + ] + }, + { + "inputs": [ + { + "internalType": "struct PoolKey", + "name": "key", + "type": "tuple", + "components": [ + { + "internalType": "Currency", + "name": "currency0", + "type": "address" + }, + { + "internalType": "Currency", + "name": "currency1", + "type": "address" + }, + { "internalType": "uint24", "name": "fee", "type": "uint24" }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + }, + { + "internalType": "contract IHooks", + "name": "hooks", + "type": "address" + } + ] + }, + { + "internalType": "uint24", + "name": "newDynamicLPFee", + "type": "uint24" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "updateDynamicLPFee" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "approve(address,uint256,uint256)": { + "params": { + "amount": "The amount of the token.", + "id": "The id of the token.", + "spender": "The address of the spender." + }, + "returns": { "_0": "bool True, always" } + }, + "burn(address,uint256,uint256)": { + "details": "The id is converted to a uint160 to correspond to a currency address If the upper 12 bytes are not 0, they will be 0-ed out", + "params": { + "amount": "The amount of currency to burn", + "from": "The address to burn the tokens from", + "id": "The currency address to burn from ERC6909s, as a uint256" + } + }, + "clear(address,uint256)": { + "details": "This could be used to clear a balance that is considered dust. Additionally, the amount must be the exact positive balance. This is to enforce that the caller is aware of the amount being cleared." + }, + "collectProtocolFees(address,address,uint256)": { + "details": "This will revert if the contract is unlocked", + "params": { + "amount": "The amount of currency to withdraw", + "currency": "The currency to withdraw", + "recipient": "The address to receive the protocol fees" + }, + "returns": { + "amountCollected": "The amount of currency successfully withdrawn" + } + }, + "donate((address,address,uint24,int24,address),uint256,uint256,bytes)": { + "details": "Calls to donate can be frontrun adding just-in-time liquidity, with the aim of receiving a portion donated funds. Donors should keep this in mind when designing donation mechanisms.This function donates to in-range LPs at slot0.tick. In certain edge-cases of the swap algorithm, the `sqrtPrice` of a pool can be at the lower boundary of tick `n`, but the `slot0.tick` of the pool is already `n - 1`. In this case a call to `donate` would donate to tick `n - 1` (slot0.tick) not tick `n` (getTickAtSqrtPrice(slot0.sqrtPriceX96)). Read the comments in `Pool.swap()` for more information about this.", + "params": { + "amount0": "The amount of currency0 to donate", + "amount1": "The amount of currency1 to donate", + "hookData": "The data to pass through to the donate hooks", + "key": "The key of the pool to donate to" + }, + "returns": { + "delta": "BalanceDelta The delta of the caller after the donate" + } + }, + "extsload(bytes32)": { + "params": { "slot": "Key of slot to sload" }, + "returns": { "_0": "The value of the slot as bytes32" } + }, + "extsload(bytes32,uint256)": { + "params": { + "nSlots": "Number of slots to load into return value", + "startSlot": "Key of slot to start sloading from" + }, + "returns": { "_0": "List of loaded values." } + }, + "extsload(bytes32[])": { + "params": { "slots": "List of slots to SLOAD from." }, + "returns": { "_0": "List of loaded values." } + }, + "exttload(bytes32)": { + "params": { "slot": "Key of slot to tload" }, + "returns": { "_0": "The value of the slot as bytes32" } + }, + "exttload(bytes32[])": { + "params": { "slots": "List of slots to tload" }, + "returns": { "_0": "List of loaded values" } + }, + "initialize((address,address,uint24,int24,address),uint160)": { + "details": "A swap fee totaling MAX_SWAP_FEE (100%) makes exact output swaps impossible since the input is entirely consumed by the fee", + "params": { + "key": "The pool key for the pool to initialize", + "sqrtPriceX96": "The initial square root price" + }, + "returns": { "tick": "The initial tick of the pool" } + }, + "mint(address,uint256,uint256)": { + "details": "The id is converted to a uint160 to correspond to a currency address If the upper 12 bytes are not 0, they will be 0-ed out", + "params": { + "amount": "The amount of currency to mint", + "id": "The currency address to mint to ERC6909s, as a uint256", + "to": "The address to mint the tokens to" + } + }, + "modifyLiquidity((address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)": { + "details": "Poke by calling with a zero liquidityDeltaNote that feesAccrued can be artificially inflated by a malicious actor and integrators should be careful using the value For pools with a single liquidity position, actors can donate to themselves to inflate feeGrowthGlobal (and consequently feesAccrued) atomically donating and collecting fees in the same unlockCallback may make the inflated value more extreme", + "params": { + "hookData": "The data to pass through to the add/removeLiquidity hooks", + "key": "The pool to modify liquidity in", + "params": "The parameters for modifying the liquidity" + }, + "returns": { + "callerDelta": "The balance delta of the caller of modifyLiquidity. This is the total of both principal, fee deltas, and hook deltas if applicable", + "feesAccrued": "The balance delta of the fees generated in the liquidity range. Returned for informational purposes" + } + }, + "setOperator(address,bool)": { + "params": { + "approved": "The approval status.", + "operator": "The address of the operator." + }, + "returns": { "_0": "bool True, always" } + }, + "setProtocolFee((address,address,uint24,int24,address),uint24)": { + "params": { + "key": "The key of the pool to set a protocol fee for", + "newProtocolFee": "The fee to set" + } + }, + "setProtocolFeeController(address)": { + "params": { "controller": "The new protocol fee controller" } + }, + "settle()": { "returns": { "_0": "The amount of currency settled" } }, + "settleFor(address)": { + "params": { "recipient": "The address to credit for the payment" }, + "returns": { "_0": "The amount of currency settled" } + }, + "swap((address,address,uint24,int24,address),(bool,int256,uint160),bytes)": { + "details": "Swapping on low liquidity pools may cause unexpected swap amounts when liquidity available is less than amountSpecified. Additionally note that if interacting with hooks that have the BEFORE_SWAP_RETURNS_DELTA_FLAG or AFTER_SWAP_RETURNS_DELTA_FLAG the hook may alter the swap input/output. Integrators should perform checks on the returned swapDelta.", + "params": { + "hookData": "The data to pass through to the swap hooks", + "key": "The pool to swap in", + "params": "The parameters for swapping" + }, + "returns": { + "swapDelta": "The balance delta of the address swapping" + } + }, + "sync(address)": { + "details": "This MUST be called before any ERC20 tokens are sent into the contract, but can be skipped for native tokens because the amount to settle is determined by the sent value. However, if an ERC20 token has been synced and not settled, and the caller instead wants to settle native funds, this function can be called with the native currency to then be able to settle the native currency" + }, + "take(address,address,uint256)": { + "details": "Will revert if the requested amount is not available, consider using `mint` insteadCan also be used as a mechanism for free flash loans", + "params": { + "amount": "The amount of currency to withdraw", + "currency": "The currency to withdraw from the pool manager", + "to": "The address to withdraw to" + } + }, + "transfer(address,uint256,uint256)": { + "params": { + "amount": "The amount of the token.", + "id": "The id of the token.", + "receiver": "The address of the receiver." + }, + "returns": { + "_0": "bool True, always, unless the function reverts" + } + }, + "transferFrom(address,address,uint256,uint256)": { + "params": { + "amount": "The amount of the token.", + "id": "The id of the token.", + "receiver": "The address of the receiver.", + "sender": "The address of the sender." + }, + "returns": { + "_0": "bool True, always, unless the function reverts" + } + }, + "unlock(bytes)": { + "details": "The only functions callable without an unlocking are `initialize` and `updateDynamicLPFee`", + "params": { + "data": "Any data to pass to the callback, via `IUnlockCallback(msg.sender).unlockCallback(data)`" + }, + "returns": { + "result": "The data returned by the call to `IUnlockCallback(msg.sender).unlockCallback(data)`" + } + }, + "updateDynamicLPFee((address,address,uint24,int24,address),uint24)": { + "details": "A swap fee totaling MAX_SWAP_FEE (100%) makes exact output swaps impossible since the input is entirely consumed by the fee", + "params": { + "key": "The key of the pool to update dynamic LP fees for", + "newDynamicLPFee": "The new dynamic pool LP fee" + } + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "allowance(address,address,uint256)": { + "notice": "Spender allowance of an id." + }, + "approve(address,uint256,uint256)": { + "notice": "Approves an amount of an id to a spender." + }, + "balanceOf(address,uint256)": { "notice": "Owner balance of an id." }, + "burn(address,uint256,uint256)": { + "notice": "Called by the user to move value from ERC6909 balance" + }, + "clear(address,uint256)": { + "notice": "WARNING - Any currency that is cleared, will be non-retrievable, and locked in the contract permanently. A call to clear will zero out a positive balance WITHOUT a corresponding transfer." + }, + "collectProtocolFees(address,address,uint256)": { + "notice": "Collects the protocol fees for a given recipient and currency, returning the amount collected" + }, + "donate((address,address,uint24,int24,address),uint256,uint256,bytes)": { + "notice": "Donate the given currency amounts to the in-range liquidity providers of a pool" + }, + "extsload(bytes32)": { + "notice": "Called by external contracts to access granular pool state" + }, + "extsload(bytes32,uint256)": { + "notice": "Called by external contracts to access granular pool state" + }, + "extsload(bytes32[])": { + "notice": "Called by external contracts to access sparse pool state" + }, + "exttload(bytes32)": { + "notice": "Called by external contracts to access transient storage of the contract" + }, + "exttload(bytes32[])": { + "notice": "Called by external contracts to access sparse transient pool state" + }, + "initialize((address,address,uint24,int24,address),uint160)": { + "notice": "Initialize the state for a given pool ID" + }, + "isOperator(address,address)": { + "notice": "Checks if a spender is approved by an owner as an operator" + }, + "mint(address,uint256,uint256)": { + "notice": "Called by the user to move value into ERC6909 balance" + }, + "modifyLiquidity((address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)": { + "notice": "Modify the liquidity for the given pool" + }, + "protocolFeeController()": { + "notice": "Returns the current protocol fee controller address" + }, + "protocolFeesAccrued(address)": { + "notice": "Given a currency address, returns the protocol fees accrued in that currency" + }, + "setOperator(address,bool)": { + "notice": "Sets or removes an operator for the caller." + }, + "setProtocolFee((address,address,uint24,int24,address),uint24)": { + "notice": "Sets the protocol fee for the given pool" + }, + "setProtocolFeeController(address)": { + "notice": "Sets the protocol fee controller" + }, + "settle()": { "notice": "Called by the user to pay what is owed" }, + "settleFor(address)": { + "notice": "Called by the user to pay on behalf of another address" + }, + "swap((address,address,uint24,int24,address),(bool,int256,uint160),bytes)": { + "notice": "Swap against the given pool" + }, + "sync(address)": { + "notice": "Writes the current ERC20 balance of the specified currency to transient storage This is used to checkpoint balances for the manager and derive deltas for the caller." + }, + "take(address,address,uint256)": { + "notice": "Called by the user to net out some value owed to the user" + }, + "transfer(address,uint256,uint256)": { + "notice": "Transfers an amount of an id from the caller to a receiver." + }, + "transferFrom(address,address,uint256,uint256)": { + "notice": "Transfers an amount of an id from a sender to a receiver." + }, + "unlock(bytes)": { + "notice": "All interactions on the contract that account deltas require unlocking. A caller that calls `unlock` must implement `IUnlockCallback(msg.sender).unlockCallback(data)`, where they interact with the remaining functions on this contract." + }, + "updateDynamicLPFee((address,address,uint24,int24,address),uint24)": { + "notice": "Updates the pools lp fees for the a pool that has enabled dynamic lp fees." + } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@ensdomains/=lib/v4-core/node_modules/@ensdomains/", + "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", + "@pythnetwork/entropy-sdk-solidity/=node_modules/@pythnetwork/entropy-sdk-solidity/", + "@pythnetwork/pyth-sdk-solidity/=node_modules/@pythnetwork/pyth-sdk-solidity/", + "@uniswap/v4-core/=lib/v4-core/", + "@uniswap/v4-periphery/=lib/v4-periphery/", + "ds-test/=lib/v4-core/lib/forge-std/lib/ds-test/src/", + "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", + "forge-gas-snapshot/=lib/v4-periphery/lib/permit2/lib/forge-gas-snapshot/src/", + "forge-std/=lib/forge-std/src/", + "halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/", + "hardhat/=lib/v4-core/node_modules/hardhat/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/", + "permit2/=lib/v4-periphery/lib/permit2/", + "pyth-sdk-solidity/=lib/pyth-sdk-solidity/", + "solmate/=lib/v4-core/lib/solmate/", + "v4-core/=lib/v4-core/", + "v4-periphery/=lib/v4-periphery/" + ], + "optimizer": { "enabled": true, "runs": 200 }, + "metadata": { "bytecodeHash": "ipfs" }, + "compilationTarget": { "lib/v4-core/src/PoolManager.sol": "PoolManager" }, + "evmVersion": "cancun", + "libraries": {}, + "viaIR": true + }, + "sources": { + "lib/v4-core/lib/solmate/src/auth/Owned.sol": { + "keccak256": "0xfedb27d14c508342c33eb067c9a02eabcdb0f9dcf93b04ded1001f580d12d0ea", + "urls": [ + "bzz-raw://1ff52bbee698b9cf9e4574615e6550be0887ccf355f6571e23d6f25b332e79b4", + "dweb:/ipfs/QmVorA2apojVRStzS7h8aFccR3Uv32G6HVtBtFHZrE7YXx" + ], + "license": "AGPL-3.0-only" + }, + "lib/v4-core/src/ERC6909.sol": { + "keccak256": "0x22476a1c183be1b547a509b3e6906abaccb6408375f798fce805ff7877aca09f", + "urls": [ + "bzz-raw://e85580e1563ea0556705132fb6bd038ca4aa355749039923853ebcb76b7c84e6", + "dweb:/ipfs/QmVoxPrbagRKpFdRWoaCSKmStYLZrhNFuedcuyGycSGR7q" + ], + "license": "MIT" + }, + "lib/v4-core/src/ERC6909Claims.sol": { + "keccak256": "0xf496ef3a5a9bf4f4aa2eec951dbeff09a01ef058bb9f64b1664cf46c9e85cd49", + "urls": [ + "bzz-raw://2a0a97c359a7a4c526ba9fc4ceb20af8050f9cf7886ea7e1f38c9c10b4a3750c", + "dweb:/ipfs/QmPy6pCQbvzCdJRqG1thHRSwEZoLBAaLo3KQnueL3wxb8i" + ], + "license": "MIT" + }, + "lib/v4-core/src/Extsload.sol": { + "keccak256": "0x784074bd04a1541c7c6ace074e30245746133fd37c3ba16b025dce394db986ce", + "urls": [ + "bzz-raw://35f1f4fb306bf01e98b7eca012b85f3ab978b39fa5136193363e2519c4435e51", + "dweb:/ipfs/QmeGrjGMt71dJymVhkEadh5CuCW5GxRqNEZLi5AJxvC5tU" + ], + "license": "MIT" + }, + "lib/v4-core/src/Exttload.sol": { + "keccak256": "0x769ee2733a08112c652274f4b972c45fb56cc46109f233b9a30f81561b15dd54", + "urls": [ + "bzz-raw://dd19e88d50ae77c1ed5581baca1c75b3fb828d0b58cded90188d55c4e336266c", + "dweb:/ipfs/Qmc8YM6Tfpwwa4qivHHzRxNdhZzdzGiD7VexWsDvkaQTxG" + ], + "license": "MIT" + }, + "lib/v4-core/src/NoDelegateCall.sol": { + "keccak256": "0xacb81aecb7c74c86650a035462dae38c313b4b7b5842e14b645f864f61da2b51", + "urls": [ + "bzz-raw://363a0e15fc30ea68a5d52a78772facecde6433ea156e3ec2ce25068c97cd5ad6", + "dweb:/ipfs/QmYhWaF3wH71SDx5TZr9qEXXQf5FYQvdjoo3B2qWiAbm18" + ], + "license": "MIT" + }, + "lib/v4-core/src/PoolManager.sol": { + "keccak256": "0xf9ff5d5e261a21a5e72a01c5badd988beeff437e0f6b82fd56f80be42d727c07", + "urls": [ + "bzz-raw://4a92a25102c73245e1343f0dbc8400b8bac3c464ba064aa5574b9584a12e6c72", + "dweb:/ipfs/QmfCcvspZ8XzDeQjEd2FfM76wzkfE9KDgBoqAcqhf3nsnu" + ], + "license": "BUSL-1.1" + }, + "lib/v4-core/src/ProtocolFees.sol": { + "keccak256": "0x81362ef1d19670b41cefc2b6f2dc0333b6743fe39a1929edd36bd9b6a1111755", + "urls": [ + "bzz-raw://de483bbd8bf9a53b9644d7f9a6a6fe77ae527b755cf29e1db8725de89e70c7aa", + "dweb:/ipfs/Qmex3PcgJGbYsuDNaMXc8mg5fW1DNaPGiNToPpAAzz6GEq" + ], + "license": "MIT" + }, + "lib/v4-core/src/interfaces/IExtsload.sol": { + "keccak256": "0x80b53ca4907d6f0088c3b931f2b72cad1dc4615a95094d96bd0fb8dff8d5ba43", + "urls": [ + "bzz-raw://375c69148622aab7a3537d5fd37d373a8e9731022c8d87bdaee46233b0a99fe1", + "dweb:/ipfs/QmXFjdoYRxsA5B1kyuxEXgNf3FBoL1zPvy26Qy8EtpdFRN" + ], + "license": "MIT" + }, + "lib/v4-core/src/interfaces/IExttload.sol": { + "keccak256": "0xc6b68283ebd8d1c789df536756726eed51c589134bb20821b236a0d22a135937", + "urls": [ + "bzz-raw://294394f72dfc219689209f4130d85601dfd0d63c8d47578050d312db70f9b6c8", + "dweb:/ipfs/QmTDMQ3oxCGHgEBU48a3Lp4S1rRjc8vVCxkhE5ZNej1bsY" + ], + "license": "MIT" + }, + "lib/v4-core/src/interfaces/IHooks.sol": { + "keccak256": "0xc131ffa2d04c10a012fe715fe2c115811526b7ea34285cf0a04ce7ce8320da8d", + "urls": [ + "bzz-raw://3b212358897db5d99c21244d88f97b2e788527552cb430629b472a8cc6289aec", + "dweb:/ipfs/QmQtwV4dDe2RYk2ErLpaAX7U82jWh1L6Lw2HRuKDvBi84G" + ], + "license": "MIT" + }, + "lib/v4-core/src/interfaces/IPoolManager.sol": { + "keccak256": "0xbdab3544da3d32dfdf7457baa94e17d5a3012952428559e013ffac45d067038e", + "urls": [ + "bzz-raw://ce95ff864468e37c76adf71df061d4f3d6f3a5ec1f9bc3aea090463bc72798f4", + "dweb:/ipfs/QmSbWh1pLbz51yQF4HEu5NRhr8XVv9JYGEw1hq1HudAnCi" + ], + "license": "MIT" + }, + "lib/v4-core/src/interfaces/IProtocolFees.sol": { + "keccak256": "0x32a666e588a2f66334430357bb1e2424fe7eebeb98a3364b1dd16eb6ccca9848", + "urls": [ + "bzz-raw://85751d302125881f72e5f8af051c2d5d9b1f606ebaea8ca7d04fccdd27cc252d", + "dweb:/ipfs/QmeRwomeh9NWm6A6fgNA4KZPQZHPpdKsPQyYsHSFmvud7J" + ], + "license": "MIT" + }, + "lib/v4-core/src/interfaces/callback/IUnlockCallback.sol": { + "keccak256": "0x58c82f2bd9d7c097ed09bd0991fedc403b0ec270eb3d0158bfb095c06a03d719", + "urls": [ + "bzz-raw://91168ca26a10980df2cdc3fbfe8ddf372c002b7ef19e3c59a0c9870d64198f1b", + "dweb:/ipfs/QmUSpaM825vd1SwvF38esgbdLgYiPwefKaFERTWvUi6uSK" + ], + "license": "MIT" + }, + "lib/v4-core/src/interfaces/external/IERC20Minimal.sol": { + "keccak256": "0xeccadf1bf69ba2eb51f2fe4fa511bc7bb05bbd6b9f9a3cb8e5d83d9582613e0f", + "urls": [ + "bzz-raw://118757369892687b99ef46ce28d6861f62c098285bd7687a4f17f7e44e5f81de", + "dweb:/ipfs/QmUxqbYqQtcEwwFbb9e6BBMePEaSgN8C45v6RKubD4ib8d" + ], + "license": "MIT" + }, + "lib/v4-core/src/interfaces/external/IERC6909Claims.sol": { + "keccak256": "0xa586f345739e52b0488a0fe40b6e375cce67fdd25758408b0efcb5133ad96a48", + "urls": [ + "bzz-raw://e8c557b7e52abdbbd82e415a1acc27921446a7fd090b7d4877e52be72619547f", + "dweb:/ipfs/QmXE2KNPbXmGX8BQF3ei6zhzRTnhoTQg39XmqMnkhbr6QK" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/BitMath.sol": { + "keccak256": "0x51b9be4f5c4fd3e80cbc9631a65244a2eb2be250b6b7f128a2035080e18aee8d", + "urls": [ + "bzz-raw://fe98bbd5498e912146b9319827fc63621eb66ff55d5baae0fa02a7a972ab8d1e", + "dweb:/ipfs/QmY5hCuyrtgsJtk4AavrxcvBkRrChfr4N6ZnhdC8roPpNi" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/CurrencyDelta.sol": { + "keccak256": "0x80dbd898cf0f90c5c27192689b16c34edc765d6ab21b8358e3bb792c7fef238c", + "urls": [ + "bzz-raw://107698da024313f132d9fe28deb920b5c03d14624889c3ce5720e588f03635bb", + "dweb:/ipfs/QmQteUbhj5SsWbvSF6U8niBUSrETqVbEwULc8E7vS4Kbnn" + ], + "license": "BUSL-1.1" + }, + "lib/v4-core/src/libraries/CurrencyReserves.sol": { + "keccak256": "0x1576616129933fcdf3b684cea33cffd9c95e18fafbd2832a8c48ac3d8526d4c3", + "urls": [ + "bzz-raw://33b050efb9b81803b18f562271e7cca2ec5362c4d505860d6419b4a345636725", + "dweb:/ipfs/QmQtFtTwKZ5pFVGD2ENDUXvp7ECFvzqeCuJ1miJcUHdmiX" + ], + "license": "BUSL-1.1" + }, + "lib/v4-core/src/libraries/CustomRevert.sol": { + "keccak256": "0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de", + "urls": [ + "bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd", + "dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/FixedPoint128.sol": { + "keccak256": "0xad236e10853f4b4b20a35a9bb52b857c4fc79874846b7e444e06ead7f2630542", + "urls": [ + "bzz-raw://0de1f9a06520b1a689660943faa14fc0b8344ab41fab9e6012ea34bff4b9b3eb", + "dweb:/ipfs/QmRNMPTyko7W6d6KxuTsnDBa9oZgDK4xiwRRq3H9ASTbwy" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/FixedPoint96.sol": { + "keccak256": "0xef5c3fd41aee26bb12aa1c32873cfee88e67eddfe7c2b32283786265ac669741", + "urls": [ + "bzz-raw://4de298d02f662a1c36c7be0a150f18c2a161408a5d3e48432e707efd01fac9a4", + "dweb:/ipfs/QmSiM4oeMmLVKmAtJXz2feYkv4R9ZcyBpkTRW5Nhw5KDyJ" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/FullMath.sol": { + "keccak256": "0x4fc73a00817193fd3cac1cc03d8167d21af97d75f1815a070ee31a90c702b4c2", + "urls": [ + "bzz-raw://c3b2d66d36b1ad56b1ab6e2eb8a816740877b40b461c93f125e88621c8378e52", + "dweb:/ipfs/QmPGvMZzKQvNiWKd8aRzzdW7oAizwrMgcMtnaworDkVHFC" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/Hooks.sol": { + "keccak256": "0xd679b4b2d429689bc44f136050ebc958fb2d7d0d3a3c7b3e48c08ab4fba09aaa", + "urls": [ + "bzz-raw://287190cb72840e5eb63cc7a8a1d0b9150af17d8e4ea0323f47c7e7928f2033cb", + "dweb:/ipfs/QmVfqWBnAQM2jUcuREDdvjcP21gNuLU35CoL3NG5CEhNcx" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/LPFeeLibrary.sol": { + "keccak256": "0xbf6914e01014e7c1044111feb7df7a3d96bb503b3da827ad8464b1955580d13b", + "urls": [ + "bzz-raw://33823c20a91882c9aacdcbb02f0558c05209f4d5954aa6dd4fa17c95664db475", + "dweb:/ipfs/QmR7owkFgpfztpp1QUg3ut3nw9iPVQqLGP4hzgmZtRUQ2J" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/LiquidityMath.sol": { + "keccak256": "0x000ef2eadcc1eb7b2c18a77655f94e76e0e860f605783484657ef65fd6eda353", + "urls": [ + "bzz-raw://a766b620a7a22798b43c6c1f23b5c6cff0ebf588deb89842bad05208d448cd99", + "dweb:/ipfs/QmVKjaFJdzkqA3ey2Byum8iTCMssWVD8MmVC8rw62Tj5WD" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/Lock.sol": { + "keccak256": "0x9338be4b5695f1da5f3d3f7a3eeaf7a356c1045458289586ac0cbe9cef77c6d5", + "urls": [ + "bzz-raw://485ec42ed6155469d612a9a0c18068ebfbad74448792a338a435503de3ef1b2c", + "dweb:/ipfs/QmVnnv5u74MYatfRmBgrcfFYQcsMAJMG9jQ6ju8UiydKNF" + ], + "license": "BUSL-1.1" + }, + "lib/v4-core/src/libraries/NonzeroDeltaCount.sol": { + "keccak256": "0x0666ebd5d3528d7d52c48538296367a4cff97a578cf13365c51983fae3219b87", + "urls": [ + "bzz-raw://d27f1be3bd09d85c53d3e6a539dd6529ddd8b2b764ccb47fd7765fc81f9add59", + "dweb:/ipfs/QmQdZujNXhKEXQBkKtF5jbdvo1yXMqPDUoBBaF9S5u3Kpm" + ], + "license": "BUSL-1.1" + }, + "lib/v4-core/src/libraries/ParseBytes.sol": { + "keccak256": "0x7533b13f53ee2c2c55500100b22ffd6e37e7523c27874edc98663d53a8672b15", + "urls": [ + "bzz-raw://82449058634fde28a085f3c59a6a5f412550c02181590593fd84c3e8b329aa17", + "dweb:/ipfs/Qmev4E9Au6SsE4wsArChCwfg94KhHc5gYsEsZUnjF5sRLa" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/Pool.sol": { + "keccak256": "0xb8191707c5913f5e2f589cec5167e3fac4a5b86bd84f61fdba0fbe6a8ce8a3a0", + "urls": [ + "bzz-raw://a609f9c365f05becf61877d9dc767e7825bce8c34607dbfc0f0437a71f6ff407", + "dweb:/ipfs/QmThDUzLePs2Hbp6XTpRSHT67rdsjQLhdmS6krm8cpKSey" + ], + "license": "BUSL-1.1" + }, + "lib/v4-core/src/libraries/Position.sol": { + "keccak256": "0xddab2a831f1befb6abf5567e77c4582169ca8156cf69eb4f22d8e87f7226a3f9", + "urls": [ + "bzz-raw://c79fe61b50f3b70cff503abfa6f5643fcbefb9b794855bee1019b1e6d9c083b2", + "dweb:/ipfs/QmbKmYNQesaMz8bo1b7TMHQcAwaDd3eDPrE5pAdPPZTtk5" + ], + "license": "BUSL-1.1" + }, + "lib/v4-core/src/libraries/ProtocolFeeLibrary.sol": { + "keccak256": "0xf483001899229ab10f5a626fe1c5866134d9e965b48ce6cf55ce0d7f74f7d8ec", + "urls": [ + "bzz-raw://6ba9211a7f69bbb44649c35211eb29d193c09032ec600064ef9d04b4625dd8ba", + "dweb:/ipfs/QmQSjQvtguYgMJSkkKRhHjxasfX9xfTbrbcZ1QmjUVb787" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/SafeCast.sol": { + "keccak256": "0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86", + "urls": [ + "bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59", + "dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/SqrtPriceMath.sol": { + "keccak256": "0xf8079fe6e3460db495451d06b1705e18f1c4075c1af96a31ad313545f7082982", + "urls": [ + "bzz-raw://582fc51546723a0a8acccf782f69b530bacf9b3ef929458e82569b7121f0b138", + "dweb:/ipfs/QmSBXcmqZdFsM7M4sRaiyQAxykCeMNFKyKgBcwSMTw1bcF" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/SwapMath.sol": { + "keccak256": "0x6baa782ae523269c079cc763639a9b91a25fcfa1743c049c76e43741ef494bd9", + "urls": [ + "bzz-raw://035c337e62e05262a5bd5d3bc85bc9a383c1013001216b429f49cf1e129a0812", + "dweb:/ipfs/QmU7s4h58Fh2A6mM8yeorZ2ygwEJMQw8zdZLLkHeDoSWxD" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/TickBitmap.sol": { + "keccak256": "0x6779f89e28a0b4af6e09d518caf014b7e8fc627400f5561f86fed11635b1458a", + "urls": [ + "bzz-raw://a64dee983106de3be3f968be94368c1e37592f5418aa2a39e8dd358d5a962b0d", + "dweb:/ipfs/QmYuECZTiEeQVxDLYx6pBSSnVrg56Apw75bugQiM3FmGwy" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/TickMath.sol": { + "keccak256": "0x4e1a11e154eb06106cb1c4598f06cca5f5ca16eaa33494ba2f0e74981123eca8", + "urls": [ + "bzz-raw://a79a57f7b240783b045168d1c4f774ac1812caf8f9a83cb6959a86b0b07b6c70", + "dweb:/ipfs/QmTb5kvxwDNW8jDuQaqdJ445cCFejNkUqEB17Bjo8UBiva" + ], + "license": "MIT" + }, + "lib/v4-core/src/libraries/UnsafeMath.sol": { + "keccak256": "0xa6e55e0a43a15df2df471d9972cd48f613d07c663ecb8bbeaf7623f6f99bcce4", + "urls": [ + "bzz-raw://02ea6e13879fc5a5f35149a2f1cd8af3a1f0877ff69101dad53841d16f515572", + "dweb:/ipfs/QmcpL4gdG6hL2w1wqs2Vw4J1EFCwBs9T1Qd4p16CtECQkn" + ], + "license": "MIT" + }, + "lib/v4-core/src/types/BalanceDelta.sol": { + "keccak256": "0xa719c8fe51e0a9524280178f19f6851bcc3b3b60e73618f3d60905d35ae5569f", + "urls": [ + "bzz-raw://7436928dc9de35c6c7c5c636cb51adaf295cfd590da83b19a004ae33cbec9ef9", + "dweb:/ipfs/QmRJ9yZkUpzk4433GX3LgVVL8jwpbSYSUwXcucKisf3v4H" + ], + "license": "MIT" + }, + "lib/v4-core/src/types/BeforeSwapDelta.sol": { + "keccak256": "0x2a774312d91285313d569da1a718c909655da5432310417692097a1d4dc83a78", + "urls": [ + "bzz-raw://a2c7a0379955cff9c17ab9e61f95e42909aa5947c22740f86ce940d09856f782", + "dweb:/ipfs/QmaAuo8UBYXsGrVuKh8iRoAAdqwtg1jDq515cW1ZRP5m9K" + ], + "license": "MIT" + }, + "lib/v4-core/src/types/Currency.sol": { + "keccak256": "0x4a0b84b282577ff6f8acf13ec9f4d32dbb9348748b49611d00e68bee96609c93", + "urls": [ + "bzz-raw://45f9d62ab3d51b52957279e353853ba1547c3182c9a1e3d1846ada4a90263b01", + "dweb:/ipfs/QmS8NG84ccQS1yXVD8cv3eKX7J1UKxuJhbUfHTQR2opKF5" + ], + "license": "MIT" + }, + "lib/v4-core/src/types/PoolId.sol": { + "keccak256": "0x308311916ea0f5c2fd878b6a2751eb223d170a69e33f601fae56dfe3c5d392af", + "urls": [ + "bzz-raw://669c2cd7ac17690b5d8831e0bda72822376c3a04b36afed6d31df4d75fe60918", + "dweb:/ipfs/QmT6EpkxqU8VF3WsgrZ66F3s1cCQRffR95z1HDYZz7ph6y" + ], + "license": "MIT" + }, + "lib/v4-core/src/types/PoolKey.sol": { + "keccak256": "0xf89856e0580d7a4856d3187a76858377ccee9d59702d230c338d84388221b786", + "urls": [ + "bzz-raw://6f3118fa189025695c37fdf0bdd1190f085ad097484d3c88cf4c56d1db65f639", + "dweb:/ipfs/QmamXpgtB8GV1CaFLvqefPWSoikLDhMk1yU4heBnVzU8gi" + ], + "license": "MIT" + }, + "lib/v4-core/src/types/PoolOperation.sol": { + "keccak256": "0x7a1a107fc1f2208abb2c9364c8c54e56e98dca27673e9441bed2b949b6382162", + "urls": [ + "bzz-raw://4ad2470383bc5595d5af17840c64971f457adac68895a4db41ba5c71a4478e07", + "dweb:/ipfs/QmdwKhBHDZFuqXrR2BfDBD9r7rB2ULGQBznsajRTkTmL4c" + ], + "license": "MIT" + }, + "lib/v4-core/src/types/Slot0.sol": { + "keccak256": "0x8b4912fac7e25ea680056748121113f902d56f8b2640f421d5c38d438db11c1b", + "urls": [ + "bzz-raw://c19b1ff5b951fb54129268d2be37d82c8bb3ea6e29ac9bc78a8a37794fc082b8", + "dweb:/ipfs/QmTAQ2mUoiT77hoWJAfn9pyoGy47qaevn45QHrbyovGt2C" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "id": 23 +} diff --git a/entropy/chaos-lp-uniswap-v4/mev-sim/chaos_mev_dashboard.png b/entropy/chaos-lp-uniswap-v4/mev-sim/chaos_mev_dashboard.png new file mode 100644 index 0000000..d8de9fd Binary files /dev/null and b/entropy/chaos-lp-uniswap-v4/mev-sim/chaos_mev_dashboard.png differ diff --git a/entropy/chaos-lp-uniswap-v4/mev-sim/chaos_vs_normal.csv b/entropy/chaos-lp-uniswap-v4/mev-sim/chaos_vs_normal.csv new file mode 100644 index 0000000..d639b6c --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/mev-sim/chaos_vs_normal.csv @@ -0,0 +1,10002 @@ +id,mode,oracle_tick,center,lower,upper,attacker_edge,offset,overlap_factor +0,normal,-520364,-520360,-520560,-520160,4,0,1 +1,chaos,-520364,-522090,-522290,-521890,1726,-1726,0 +2,chaos,-520364,-519920,-520120,-519720,444,444,0 +3,chaos,-520364,-515770,-515970,-515570,4594,4594,0 +4,chaos,-520364,-520680,-520880,-520480,316,-316,0.2 +5,chaos,-520364,-518250,-518450,-518050,2114,2114,0 +6,chaos,-520364,-517510,-517710,-517310,2854,2854,0 +7,chaos,-520364,-517570,-517770,-517370,2794,2794,0 +8,chaos,-520364,-525330,-525530,-525130,4966,-4966,0 +9,chaos,-520364,-517190,-517390,-516990,3174,3174,0 +10,chaos,-520364,-522870,-523070,-522670,2506,-2506,0 +11,chaos,-520364,-519520,-519720,-519320,844,844,0 +12,chaos,-520364,-517700,-517900,-517500,2664,2664,0 +13,chaos,-520364,-524500,-524700,-524300,4136,-4136,0 +14,chaos,-520364,-519960,-520160,-519760,404,404,0 +15,chaos,-520364,-515960,-516160,-515760,4404,4404,0 +16,chaos,-520364,-517620,-517820,-517420,2744,2744,0 +17,chaos,-520364,-519630,-519830,-519430,734,734,0 +18,chaos,-520364,-522910,-523110,-522710,2546,-2546,0 +19,chaos,-520364,-519740,-519940,-519540,624,624,0 +20,chaos,-520364,-521160,-521360,-520960,796,-796,0 +21,chaos,-520364,-517950,-518150,-517750,2414,2414,0 +22,chaos,-520364,-516120,-516320,-515920,4244,4244,0 +23,chaos,-520364,-524110,-524310,-523910,3746,-3746,0 +24,chaos,-520364,-522090,-522290,-521890,1726,-1726,0 +25,chaos,-520364,-516930,-517130,-516730,3434,3434,0 +26,chaos,-520364,-518540,-518740,-518340,1824,1824,0 +27,chaos,-520364,-524780,-524980,-524580,4416,-4416,0 +28,chaos,-520364,-521290,-521490,-521090,926,-926,0 +29,chaos,-520364,-523570,-523770,-523370,3206,-3206,0 +30,chaos,-520364,-522040,-522240,-521840,1676,-1676,0 +31,chaos,-520364,-517100,-517300,-516900,3264,3264,0 +32,chaos,-520364,-520050,-520250,-519850,314,314,0.225 +33,chaos,-520364,-515510,-515710,-515310,4854,4854,0 +34,chaos,-520364,-524620,-524820,-524420,4256,-4256,0 +35,chaos,-520364,-521190,-521390,-520990,826,-826,0 +36,chaos,-520364,-522640,-522840,-522440,2276,-2276,0 +37,chaos,-520364,-524910,-525110,-524710,4546,-4546,0 +38,chaos,-520364,-525260,-525460,-525060,4896,-4896,0 +39,chaos,-520364,-524140,-524340,-523940,3776,-3776,0 +40,chaos,-520364,-517270,-517470,-517070,3094,3094,0 +41,chaos,-520364,-518360,-518560,-518160,2004,2004,0 +42,chaos,-520364,-520210,-520410,-520010,154,154,0.625 +43,chaos,-520364,-518180,-518380,-517980,2184,2184,0 +44,chaos,-520364,-521650,-521850,-521450,1286,-1286,0 +45,chaos,-520364,-516850,-517050,-516650,3514,3514,0 +46,chaos,-520364,-521420,-521620,-521220,1056,-1056,0 +47,chaos,-520364,-517600,-517800,-517400,2764,2764,0 +48,chaos,-520364,-516320,-516520,-516120,4044,4044,0 +49,chaos,-520364,-516380,-516580,-516180,3984,3984,0 +50,chaos,-520364,-522030,-522230,-521830,1666,-1666,0 +51,chaos,-520364,-519920,-520120,-519720,444,444,0 +52,chaos,-520364,-523330,-523530,-523130,2966,-2966,0 +53,chaos,-520364,-520350,-520550,-520150,14,14,0.975 +54,chaos,-520364,-523820,-524020,-523620,3456,-3456,0 +55,chaos,-520364,-521310,-521510,-521110,946,-946,0 +56,chaos,-520364,-523860,-524060,-523660,3496,-3496,0 +57,chaos,-520364,-524870,-525070,-524670,4506,-4506,0 +58,chaos,-520364,-524600,-524800,-524400,4236,-4236,0 +59,chaos,-520364,-515680,-515880,-515480,4684,4684,0 +60,chaos,-520364,-518560,-518760,-518360,1804,1804,0 +61,chaos,-520364,-519270,-519470,-519070,1094,1094,0 +62,chaos,-520364,-515400,-515600,-515200,4964,4964,0 +63,chaos,-520364,-520830,-521030,-520630,466,-466,0 +64,chaos,-520364,-519020,-519220,-518820,1344,1344,0 +65,chaos,-520364,-517290,-517490,-517090,3074,3074,0 +66,chaos,-520364,-517790,-517990,-517590,2574,2574,0 +67,chaos,-520364,-524800,-525000,-524600,4436,-4436,0 +68,chaos,-520364,-524930,-525130,-524730,4566,-4566,0 +69,chaos,-520364,-519260,-519460,-519060,1104,1104,0 +70,chaos,-520364,-517180,-517380,-516980,3184,3184,0 +71,chaos,-520364,-516850,-517050,-516650,3514,3514,0 +72,chaos,-520364,-518620,-518820,-518420,1744,1744,0 +73,chaos,-520364,-519660,-519860,-519460,704,704,0 +74,chaos,-520364,-516210,-516410,-516010,4154,4154,0 +75,chaos,-520364,-524250,-524450,-524050,3886,-3886,0 +76,chaos,-520364,-519500,-519700,-519300,864,864,0 +77,chaos,-520364,-517670,-517870,-517470,2694,2694,0 +78,chaos,-520364,-522260,-522460,-522060,1896,-1896,0 +79,chaos,-520364,-523870,-524070,-523670,3506,-3506,0 +80,chaos,-520364,-517120,-517320,-516920,3244,3244,0 +81,chaos,-520364,-518770,-518970,-518570,1594,1594,0 +82,chaos,-520364,-523840,-524040,-523640,3476,-3476,0 +83,chaos,-520364,-524820,-525020,-524620,4456,-4456,0 +84,chaos,-520364,-516350,-516550,-516150,4014,4014,0 +85,chaos,-520364,-519810,-520010,-519610,554,554,0 +86,chaos,-520364,-519990,-520190,-519790,374,374,0.075 +87,chaos,-520364,-519040,-519240,-518840,1324,1324,0 +88,chaos,-520364,-520250,-520450,-520050,114,114,0.725 +89,chaos,-520364,-519080,-519280,-518880,1284,1284,0 +90,chaos,-520364,-522980,-523180,-522780,2616,-2616,0 +91,chaos,-520364,-520910,-521110,-520710,546,-546,0 +92,chaos,-520364,-518820,-519020,-518620,1544,1544,0 +93,chaos,-520364,-516760,-516960,-516560,3604,3604,0 +94,chaos,-520364,-521200,-521400,-521000,836,-836,0 +95,chaos,-520364,-515790,-515990,-515590,4574,4574,0 +96,chaos,-520364,-516850,-517050,-516650,3514,3514,0 +97,chaos,-520364,-518290,-518490,-518090,2074,2074,0 +98,chaos,-520364,-523860,-524060,-523660,3496,-3496,0 +99,chaos,-520364,-521960,-522160,-521760,1596,-1596,0 +100,chaos,-520364,-518180,-518380,-517980,2184,2184,0 +101,chaos,-520364,-517660,-517860,-517460,2704,2704,0 +102,chaos,-520364,-517700,-517900,-517500,2664,2664,0 +103,chaos,-520364,-519820,-520020,-519620,544,544,0 +104,chaos,-520364,-521600,-521800,-521400,1236,-1236,0 +105,chaos,-520364,-515830,-516030,-515630,4534,4534,0 +106,chaos,-520364,-521030,-521230,-520830,666,-666,0 +107,chaos,-520364,-523550,-523750,-523350,3186,-3186,0 +108,chaos,-520364,-522060,-522260,-521860,1696,-1696,0 +109,chaos,-520364,-524260,-524460,-524060,3896,-3896,0 +110,chaos,-520364,-519720,-519920,-519520,644,644,0 +111,chaos,-520364,-517570,-517770,-517370,2794,2794,0 +112,chaos,-520364,-521140,-521340,-520940,776,-776,0 +113,chaos,-520364,-518650,-518850,-518450,1714,1714,0 +114,chaos,-520364,-523860,-524060,-523660,3496,-3496,0 +115,chaos,-520364,-523950,-524150,-523750,3586,-3586,0 +116,chaos,-520364,-516490,-516690,-516290,3874,3874,0 +117,chaos,-520364,-520010,-520210,-519810,354,354,0.125 +118,chaos,-520364,-517840,-518040,-517640,2524,2524,0 +119,chaos,-520364,-519760,-519960,-519560,604,604,0 +120,chaos,-520364,-523790,-523990,-523590,3426,-3426,0 +121,chaos,-520364,-515740,-515940,-515540,4624,4624,0 +122,chaos,-520364,-525170,-525370,-524970,4806,-4806,0 +123,chaos,-520364,-522780,-522980,-522580,2416,-2416,0 +124,chaos,-520364,-523230,-523430,-523030,2866,-2866,0 +125,chaos,-520364,-515710,-515910,-515510,4654,4654,0 +126,chaos,-520364,-525000,-525200,-524800,4636,-4636,0 +127,chaos,-520364,-523720,-523920,-523520,3356,-3356,0 +128,chaos,-520364,-518080,-518280,-517880,2284,2284,0 +129,chaos,-520364,-523690,-523890,-523490,3326,-3326,0 +130,chaos,-520364,-519260,-519460,-519060,1104,1104,0 +131,chaos,-520364,-521550,-521750,-521350,1186,-1186,0 +132,chaos,-520364,-517330,-517530,-517130,3034,3034,0 +133,chaos,-520364,-521740,-521940,-521540,1376,-1376,0 +134,chaos,-520364,-521920,-522120,-521720,1556,-1556,0 +135,chaos,-520364,-522050,-522250,-521850,1686,-1686,0 +136,chaos,-520364,-522860,-523060,-522660,2496,-2496,0 +137,chaos,-520364,-521070,-521270,-520870,706,-706,0 +138,chaos,-520364,-516640,-516840,-516440,3724,3724,0 +139,chaos,-520364,-524160,-524360,-523960,3796,-3796,0 +140,chaos,-520364,-525040,-525240,-524840,4676,-4676,0 +141,chaos,-520364,-524620,-524820,-524420,4256,-4256,0 +142,chaos,-520364,-521490,-521690,-521290,1126,-1126,0 +143,chaos,-520364,-522340,-522540,-522140,1976,-1976,0 +144,chaos,-520364,-515970,-516170,-515770,4394,4394,0 +145,chaos,-520364,-525180,-525380,-524980,4816,-4816,0 +146,chaos,-520364,-524660,-524860,-524460,4296,-4296,0 +147,chaos,-520364,-523690,-523890,-523490,3326,-3326,0 +148,chaos,-520364,-516610,-516810,-516410,3754,3754,0 +149,chaos,-520364,-515660,-515860,-515460,4704,4704,0 +150,chaos,-520364,-521280,-521480,-521080,916,-916,0 +151,chaos,-520364,-517080,-517280,-516880,3284,3284,0 +152,chaos,-520364,-520260,-520460,-520060,104,104,0.75 +153,chaos,-520364,-524400,-524600,-524200,4036,-4036,0 +154,chaos,-520364,-516870,-517070,-516670,3494,3494,0 +155,chaos,-520364,-518230,-518430,-518030,2134,2134,0 +156,chaos,-520364,-517940,-518140,-517740,2424,2424,0 +157,chaos,-520364,-524610,-524810,-524410,4246,-4246,0 +158,chaos,-520364,-521630,-521830,-521430,1266,-1266,0 +159,chaos,-520364,-522880,-523080,-522680,2516,-2516,0 +160,chaos,-520364,-525260,-525460,-525060,4896,-4896,0 +161,chaos,-520364,-521380,-521580,-521180,1016,-1016,0 +162,chaos,-520364,-520790,-520990,-520590,426,-426,0 +163,chaos,-520364,-516550,-516750,-516350,3814,3814,0 +164,chaos,-520364,-524210,-524410,-524010,3846,-3846,0 +165,chaos,-520364,-519110,-519310,-518910,1254,1254,0 +166,chaos,-520364,-520820,-521020,-520620,456,-456,0 +167,chaos,-520364,-523400,-523600,-523200,3036,-3036,0 +168,chaos,-520364,-521620,-521820,-521420,1256,-1256,0 +169,chaos,-520364,-522160,-522360,-521960,1796,-1796,0 +170,chaos,-520364,-518980,-519180,-518780,1384,1384,0 +171,chaos,-520364,-521370,-521570,-521170,1006,-1006,0 +172,chaos,-520364,-520880,-521080,-520680,516,-516,0 +173,chaos,-520364,-521870,-522070,-521670,1506,-1506,0 +174,chaos,-520364,-516540,-516740,-516340,3824,3824,0 +175,chaos,-520364,-525150,-525350,-524950,4786,-4786,0 +176,chaos,-520364,-522890,-523090,-522690,2526,-2526,0 +177,chaos,-520364,-519290,-519490,-519090,1074,1074,0 +178,chaos,-520364,-525210,-525410,-525010,4846,-4846,0 +179,chaos,-520364,-520470,-520670,-520270,106,-106,0.725 +180,chaos,-520364,-515370,-515570,-515170,4994,4994,0 +181,chaos,-520364,-523190,-523390,-522990,2826,-2826,0 +182,chaos,-520364,-518120,-518320,-517920,2244,2244,0 +183,chaos,-520364,-524120,-524320,-523920,3756,-3756,0 +184,chaos,-520364,-524510,-524710,-524310,4146,-4146,0 +185,chaos,-520364,-518880,-519080,-518680,1484,1484,0 +186,chaos,-520364,-516840,-517040,-516640,3524,3524,0 +187,chaos,-520364,-515650,-515850,-515450,4714,4714,0 +188,chaos,-520364,-520200,-520400,-520000,164,164,0.6 +189,chaos,-520364,-520700,-520900,-520500,336,-336,0.15 +190,chaos,-520364,-516970,-517170,-516770,3394,3394,0 +191,chaos,-520364,-515650,-515850,-515450,4714,4714,0 +192,chaos,-520364,-520530,-520730,-520330,166,-166,0.575 +193,chaos,-520364,-520960,-521160,-520760,596,-596,0 +194,chaos,-520364,-521640,-521840,-521440,1276,-1276,0 +195,chaos,-520364,-516580,-516780,-516380,3784,3784,0 +196,chaos,-520364,-517340,-517540,-517140,3024,3024,0 +197,chaos,-520364,-520750,-520950,-520550,386,-386,0.025 +198,chaos,-520364,-524000,-524200,-523800,3636,-3636,0 +199,chaos,-520364,-520230,-520430,-520030,134,134,0.675 +200,chaos,-520364,-520660,-520860,-520460,296,-296,0.25 +201,chaos,-520364,-515590,-515790,-515390,4774,4774,0 +202,chaos,-520364,-520220,-520420,-520020,144,144,0.65 +203,chaos,-520364,-522330,-522530,-522130,1966,-1966,0 +204,chaos,-520364,-519740,-519940,-519540,624,624,0 +205,chaos,-520364,-524260,-524460,-524060,3896,-3896,0 +206,chaos,-520364,-519290,-519490,-519090,1074,1074,0 +207,chaos,-520364,-518240,-518440,-518040,2124,2124,0 +208,chaos,-520364,-521520,-521720,-521320,1156,-1156,0 +209,chaos,-520364,-521500,-521700,-521300,1136,-1136,0 +210,chaos,-520364,-525090,-525290,-524890,4726,-4726,0 +211,chaos,-520364,-525230,-525430,-525030,4866,-4866,0 +212,chaos,-520364,-522720,-522920,-522520,2356,-2356,0 +213,chaos,-520364,-517100,-517300,-516900,3264,3264,0 +214,chaos,-520364,-516340,-516540,-516140,4024,4024,0 +215,chaos,-520364,-519310,-519510,-519110,1054,1054,0 +216,chaos,-520364,-516980,-517180,-516780,3384,3384,0 +217,chaos,-520364,-518970,-519170,-518770,1394,1394,0 +218,chaos,-520364,-520960,-521160,-520760,596,-596,0 +219,chaos,-520364,-524090,-524290,-523890,3726,-3726,0 +220,chaos,-520364,-524700,-524900,-524500,4336,-4336,0 +221,chaos,-520364,-523390,-523590,-523190,3026,-3026,0 +222,chaos,-520364,-519130,-519330,-518930,1234,1234,0 +223,chaos,-520364,-524220,-524420,-524020,3856,-3856,0 +224,chaos,-520364,-518500,-518700,-518300,1864,1864,0 +225,chaos,-520364,-524400,-524600,-524200,4036,-4036,0 +226,chaos,-520364,-524820,-525020,-524620,4456,-4456,0 +227,chaos,-520364,-520500,-520700,-520300,136,-136,0.65 +228,chaos,-520364,-524890,-525090,-524690,4526,-4526,0 +229,chaos,-520364,-520580,-520780,-520380,216,-216,0.45 +230,chaos,-520364,-524230,-524430,-524030,3866,-3866,0 +231,chaos,-520364,-518110,-518310,-517910,2254,2254,0 +232,chaos,-520364,-523560,-523760,-523360,3196,-3196,0 +233,chaos,-520364,-523190,-523390,-522990,2826,-2826,0 +234,chaos,-520364,-523020,-523220,-522820,2656,-2656,0 +235,chaos,-520364,-516250,-516450,-516050,4114,4114,0 +236,chaos,-520364,-519830,-520030,-519630,534,534,0 +237,chaos,-520364,-516540,-516740,-516340,3824,3824,0 +238,chaos,-520364,-516270,-516470,-516070,4094,4094,0 +239,chaos,-520364,-520970,-521170,-520770,606,-606,0 +240,chaos,-520364,-521890,-522090,-521690,1526,-1526,0 +241,chaos,-520364,-519620,-519820,-519420,744,744,0 +242,chaos,-520364,-518390,-518590,-518190,1974,1974,0 +243,chaos,-520364,-522490,-522690,-522290,2126,-2126,0 +244,chaos,-520364,-516990,-517190,-516790,3374,3374,0 +245,chaos,-520364,-517130,-517330,-516930,3234,3234,0 +246,chaos,-520364,-519170,-519370,-518970,1194,1194,0 +247,chaos,-520364,-522500,-522700,-522300,2136,-2136,0 +248,chaos,-520364,-517920,-518120,-517720,2444,2444,0 +249,chaos,-520364,-518190,-518390,-517990,2174,2174,0 +250,chaos,-520364,-523160,-523360,-522960,2796,-2796,0 +251,chaos,-520364,-522470,-522670,-522270,2106,-2106,0 +252,chaos,-520364,-519660,-519860,-519460,704,704,0 +253,chaos,-520364,-520220,-520420,-520020,144,144,0.65 +254,chaos,-520364,-520280,-520480,-520080,84,84,0.8 +255,chaos,-520364,-518960,-519160,-518760,1404,1404,0 +256,chaos,-520364,-521280,-521480,-521080,916,-916,0 +257,chaos,-520364,-516440,-516640,-516240,3924,3924,0 +258,chaos,-520364,-517690,-517890,-517490,2674,2674,0 +259,chaos,-520364,-524740,-524940,-524540,4376,-4376,0 +260,chaos,-520364,-523060,-523260,-522860,2696,-2696,0 +261,chaos,-520364,-524460,-524660,-524260,4096,-4096,0 +262,chaos,-520364,-523170,-523370,-522970,2806,-2806,0 +263,chaos,-520364,-520810,-521010,-520610,446,-446,0 +264,chaos,-520364,-519300,-519500,-519100,1064,1064,0 +265,chaos,-520364,-523030,-523230,-522830,2666,-2666,0 +266,chaos,-520364,-518120,-518320,-517920,2244,2244,0 +267,chaos,-520364,-516650,-516850,-516450,3714,3714,0 +268,chaos,-520364,-519730,-519930,-519530,634,634,0 +269,chaos,-520364,-520080,-520280,-519880,284,284,0.3 +270,chaos,-520364,-515470,-515670,-515270,4894,4894,0 +271,chaos,-520364,-524670,-524870,-524470,4306,-4306,0 +272,chaos,-520364,-519560,-519760,-519360,804,804,0 +273,chaos,-520364,-520880,-521080,-520680,516,-516,0 +274,chaos,-520364,-522790,-522990,-522590,2426,-2426,0 +275,chaos,-520364,-522850,-523050,-522650,2486,-2486,0 +276,chaos,-520364,-521210,-521410,-521010,846,-846,0 +277,chaos,-520364,-525320,-525520,-525120,4956,-4956,0 +278,chaos,-520364,-521920,-522120,-521720,1556,-1556,0 +279,chaos,-520364,-524020,-524220,-523820,3656,-3656,0 +280,chaos,-520364,-516510,-516710,-516310,3854,3854,0 +281,chaos,-520364,-515580,-515780,-515380,4784,4784,0 +282,chaos,-520364,-521380,-521580,-521180,1016,-1016,0 +283,chaos,-520364,-520870,-521070,-520670,506,-506,0 +284,chaos,-520364,-524770,-524970,-524570,4406,-4406,0 +285,chaos,-520364,-517310,-517510,-517110,3054,3054,0 +286,chaos,-520364,-522080,-522280,-521880,1716,-1716,0 +287,chaos,-520364,-521600,-521800,-521400,1236,-1236,0 +288,chaos,-520364,-519150,-519350,-518950,1214,1214,0 +289,chaos,-520364,-516110,-516310,-515910,4254,4254,0 +290,chaos,-520364,-517790,-517990,-517590,2574,2574,0 +291,chaos,-520364,-520300,-520500,-520100,64,64,0.85 +292,chaos,-520364,-521650,-521850,-521450,1286,-1286,0 +293,chaos,-520364,-524460,-524660,-524260,4096,-4096,0 +294,chaos,-520364,-520710,-520910,-520510,346,-346,0.125 +295,chaos,-520364,-517000,-517200,-516800,3364,3364,0 +296,chaos,-520364,-522330,-522530,-522130,1966,-1966,0 +297,chaos,-520364,-523380,-523580,-523180,3016,-3016,0 +298,chaos,-520364,-520580,-520780,-520380,216,-216,0.45 +299,chaos,-520364,-523440,-523640,-523240,3076,-3076,0 +300,chaos,-520364,-519270,-519470,-519070,1094,1094,0 +301,chaos,-520364,-519140,-519340,-518940,1224,1224,0 +302,chaos,-520364,-518400,-518600,-518200,1964,1964,0 +303,chaos,-520364,-517680,-517880,-517480,2684,2684,0 +304,chaos,-520364,-520230,-520430,-520030,134,134,0.675 +305,chaos,-520364,-521930,-522130,-521730,1566,-1566,0 +306,chaos,-520364,-516270,-516470,-516070,4094,4094,0 +307,chaos,-520364,-519950,-520150,-519750,414,414,0 +308,chaos,-520364,-518520,-518720,-518320,1844,1844,0 +309,chaos,-520364,-516340,-516540,-516140,4024,4024,0 +310,chaos,-520364,-518180,-518380,-517980,2184,2184,0 +311,chaos,-520364,-516880,-517080,-516680,3484,3484,0 +312,chaos,-520364,-522650,-522850,-522450,2286,-2286,0 +313,chaos,-520364,-518870,-519070,-518670,1494,1494,0 +314,chaos,-520364,-523620,-523820,-523420,3256,-3256,0 +315,chaos,-520364,-523000,-523200,-522800,2636,-2636,0 +316,chaos,-520364,-521510,-521710,-521310,1146,-1146,0 +317,chaos,-520364,-523040,-523240,-522840,2676,-2676,0 +318,chaos,-520364,-515830,-516030,-515630,4534,4534,0 +319,chaos,-520364,-519130,-519330,-518930,1234,1234,0 +320,chaos,-520364,-521550,-521750,-521350,1186,-1186,0 +321,chaos,-520364,-522860,-523060,-522660,2496,-2496,0 +322,chaos,-520364,-520950,-521150,-520750,586,-586,0 +323,chaos,-520364,-518150,-518350,-517950,2214,2214,0 +324,chaos,-520364,-525050,-525250,-524850,4686,-4686,0 +325,chaos,-520364,-523080,-523280,-522880,2716,-2716,0 +326,chaos,-520364,-522020,-522220,-521820,1656,-1656,0 +327,chaos,-520364,-525310,-525510,-525110,4946,-4946,0 +328,chaos,-520364,-520360,-520560,-520160,4,4,1 +329,chaos,-520364,-516030,-516230,-515830,4334,4334,0 +330,chaos,-520364,-520290,-520490,-520090,74,74,0.825 +331,chaos,-520364,-521060,-521260,-520860,696,-696,0 +332,chaos,-520364,-517490,-517690,-517290,2874,2874,0 +333,chaos,-520364,-517450,-517650,-517250,2914,2914,0 +334,chaos,-520364,-516270,-516470,-516070,4094,4094,0 +335,chaos,-520364,-519140,-519340,-518940,1224,1224,0 +336,chaos,-520364,-517920,-518120,-517720,2444,2444,0 +337,chaos,-520364,-522270,-522470,-522070,1906,-1906,0 +338,chaos,-520364,-523220,-523420,-523020,2856,-2856,0 +339,chaos,-520364,-521110,-521310,-520910,746,-746,0 +340,chaos,-520364,-515720,-515920,-515520,4644,4644,0 +341,chaos,-520364,-516340,-516540,-516140,4024,4024,0 +342,chaos,-520364,-518740,-518940,-518540,1624,1624,0 +343,chaos,-520364,-524200,-524400,-524000,3836,-3836,0 +344,chaos,-520364,-517690,-517890,-517490,2674,2674,0 +345,chaos,-520364,-522810,-523010,-522610,2446,-2446,0 +346,chaos,-520364,-516060,-516260,-515860,4304,4304,0 +347,chaos,-520364,-524200,-524400,-524000,3836,-3836,0 +348,chaos,-520364,-519570,-519770,-519370,794,794,0 +349,chaos,-520364,-522660,-522860,-522460,2296,-2296,0 +350,chaos,-520364,-518680,-518880,-518480,1684,1684,0 +351,chaos,-520364,-515940,-516140,-515740,4424,4424,0 +352,chaos,-520364,-517770,-517970,-517570,2594,2594,0 +353,chaos,-520364,-516070,-516270,-515870,4294,4294,0 +354,chaos,-520364,-515720,-515920,-515520,4644,4644,0 +355,chaos,-520364,-522030,-522230,-521830,1666,-1666,0 +356,chaos,-520364,-522200,-522400,-522000,1836,-1836,0 +357,chaos,-520364,-519990,-520190,-519790,374,374,0.075 +358,chaos,-520364,-522760,-522960,-522560,2396,-2396,0 +359,chaos,-520364,-515370,-515570,-515170,4994,4994,0 +360,chaos,-520364,-524220,-524420,-524020,3856,-3856,0 +361,chaos,-520364,-524190,-524390,-523990,3826,-3826,0 +362,chaos,-520364,-523180,-523380,-522980,2816,-2816,0 +363,chaos,-520364,-519050,-519250,-518850,1314,1314,0 +364,chaos,-520364,-517560,-517760,-517360,2804,2804,0 +365,chaos,-520364,-518970,-519170,-518770,1394,1394,0 +366,chaos,-520364,-521380,-521580,-521180,1016,-1016,0 +367,chaos,-520364,-518990,-519190,-518790,1374,1374,0 +368,chaos,-520364,-521640,-521840,-521440,1276,-1276,0 +369,chaos,-520364,-521700,-521900,-521500,1336,-1336,0 +370,chaos,-520364,-521390,-521590,-521190,1026,-1026,0 +371,chaos,-520364,-524640,-524840,-524440,4276,-4276,0 +372,chaos,-520364,-518220,-518420,-518020,2144,2144,0 +373,chaos,-520364,-517840,-518040,-517640,2524,2524,0 +374,chaos,-520364,-516960,-517160,-516760,3404,3404,0 +375,chaos,-520364,-525300,-525500,-525100,4936,-4936,0 +376,chaos,-520364,-516880,-517080,-516680,3484,3484,0 +377,chaos,-520364,-522350,-522550,-522150,1986,-1986,0 +378,chaos,-520364,-521490,-521690,-521290,1126,-1126,0 +379,chaos,-520364,-517410,-517610,-517210,2954,2954,0 +380,chaos,-520364,-517660,-517860,-517460,2704,2704,0 +381,chaos,-520364,-518480,-518680,-518280,1884,1884,0 +382,chaos,-520364,-518440,-518640,-518240,1924,1924,0 +383,chaos,-520364,-521820,-522020,-521620,1456,-1456,0 +384,chaos,-520364,-522710,-522910,-522510,2346,-2346,0 +385,chaos,-520364,-521340,-521540,-521140,976,-976,0 +386,chaos,-520364,-520300,-520500,-520100,64,64,0.85 +387,chaos,-520364,-517730,-517930,-517530,2634,2634,0 +388,chaos,-520364,-518560,-518760,-518360,1804,1804,0 +389,chaos,-520364,-523670,-523870,-523470,3306,-3306,0 +390,chaos,-520364,-516190,-516390,-515990,4174,4174,0 +391,chaos,-520364,-522310,-522510,-522110,1946,-1946,0 +392,chaos,-520364,-519880,-520080,-519680,484,484,0 +393,chaos,-520364,-523020,-523220,-522820,2656,-2656,0 +394,chaos,-520364,-521380,-521580,-521180,1016,-1016,0 +395,chaos,-520364,-518540,-518740,-518340,1824,1824,0 +396,chaos,-520364,-520920,-521120,-520720,556,-556,0 +397,chaos,-520364,-515670,-515870,-515470,4694,4694,0 +398,chaos,-520364,-520960,-521160,-520760,596,-596,0 +399,chaos,-520364,-519050,-519250,-518850,1314,1314,0 +400,chaos,-520364,-516330,-516530,-516130,4034,4034,0 +401,chaos,-520364,-523110,-523310,-522910,2746,-2746,0 +402,chaos,-520364,-523990,-524190,-523790,3626,-3626,0 +403,chaos,-520364,-523440,-523640,-523240,3076,-3076,0 +404,chaos,-520364,-521020,-521220,-520820,656,-656,0 +405,chaos,-520364,-524820,-525020,-524620,4456,-4456,0 +406,chaos,-520364,-516680,-516880,-516480,3684,3684,0 +407,chaos,-520364,-516360,-516560,-516160,4004,4004,0 +408,chaos,-520364,-521680,-521880,-521480,1316,-1316,0 +409,chaos,-520364,-521090,-521290,-520890,726,-726,0 +410,chaos,-520364,-517210,-517410,-517010,3154,3154,0 +411,chaos,-520364,-520160,-520360,-519960,204,204,0.5 +412,chaos,-520364,-518240,-518440,-518040,2124,2124,0 +413,chaos,-520364,-518590,-518790,-518390,1774,1774,0 +414,chaos,-520364,-518800,-519000,-518600,1564,1564,0 +415,chaos,-520364,-518360,-518560,-518160,2004,2004,0 +416,chaos,-520364,-519970,-520170,-519770,394,394,0.025 +417,chaos,-520364,-520550,-520750,-520350,186,-186,0.525 +418,chaos,-520364,-524810,-525010,-524610,4446,-4446,0 +419,chaos,-520364,-521160,-521360,-520960,796,-796,0 +420,chaos,-520364,-517970,-518170,-517770,2394,2394,0 +421,chaos,-520364,-515940,-516140,-515740,4424,4424,0 +422,chaos,-520364,-520260,-520460,-520060,104,104,0.75 +423,chaos,-520364,-520440,-520640,-520240,76,-76,0.8 +424,chaos,-520364,-518200,-518400,-518000,2164,2164,0 +425,chaos,-520364,-517620,-517820,-517420,2744,2744,0 +426,chaos,-520364,-517760,-517960,-517560,2604,2604,0 +427,chaos,-520364,-525350,-525550,-525150,4986,-4986,0 +428,chaos,-520364,-523840,-524040,-523640,3476,-3476,0 +429,chaos,-520364,-517670,-517870,-517470,2694,2694,0 +430,chaos,-520364,-524020,-524220,-523820,3656,-3656,0 +431,chaos,-520364,-523480,-523680,-523280,3116,-3116,0 +432,chaos,-520364,-522660,-522860,-522460,2296,-2296,0 +433,chaos,-520364,-524660,-524860,-524460,4296,-4296,0 +434,chaos,-520364,-520080,-520280,-519880,284,284,0.3 +435,chaos,-520364,-517550,-517750,-517350,2814,2814,0 +436,chaos,-520364,-520390,-520590,-520190,26,-26,0.925 +437,chaos,-520364,-521980,-522180,-521780,1616,-1616,0 +438,chaos,-520364,-523960,-524160,-523760,3596,-3596,0 +439,chaos,-520364,-524110,-524310,-523910,3746,-3746,0 +440,chaos,-520364,-517260,-517460,-517060,3104,3104,0 +441,chaos,-520364,-523010,-523210,-522810,2646,-2646,0 +442,chaos,-520364,-519230,-519430,-519030,1134,1134,0 +443,chaos,-520364,-523330,-523530,-523130,2966,-2966,0 +444,chaos,-520364,-516720,-516920,-516520,3644,3644,0 +445,chaos,-520364,-516110,-516310,-515910,4254,4254,0 +446,chaos,-520364,-519490,-519690,-519290,874,874,0 +447,chaos,-520364,-518190,-518390,-517990,2174,2174,0 +448,chaos,-520364,-522440,-522640,-522240,2076,-2076,0 +449,chaos,-520364,-518680,-518880,-518480,1684,1684,0 +450,chaos,-520364,-516600,-516800,-516400,3764,3764,0 +451,chaos,-520364,-515450,-515650,-515250,4914,4914,0 +452,chaos,-520364,-523390,-523590,-523190,3026,-3026,0 +453,chaos,-520364,-523480,-523680,-523280,3116,-3116,0 +454,chaos,-520364,-520670,-520870,-520470,306,-306,0.225 +455,chaos,-520364,-524750,-524950,-524550,4386,-4386,0 +456,chaos,-520364,-524850,-525050,-524650,4486,-4486,0 +457,chaos,-520364,-516350,-516550,-516150,4014,4014,0 +458,chaos,-520364,-524820,-525020,-524620,4456,-4456,0 +459,chaos,-520364,-525190,-525390,-524990,4826,-4826,0 +460,chaos,-520364,-524080,-524280,-523880,3716,-3716,0 +461,chaos,-520364,-518200,-518400,-518000,2164,2164,0 +462,chaos,-520364,-516620,-516820,-516420,3744,3744,0 +463,chaos,-520364,-523920,-524120,-523720,3556,-3556,0 +464,chaos,-520364,-518340,-518540,-518140,2024,2024,0 +465,chaos,-520364,-523550,-523750,-523350,3186,-3186,0 +466,chaos,-520364,-518040,-518240,-517840,2324,2324,0 +467,chaos,-520364,-518300,-518500,-518100,2064,2064,0 +468,chaos,-520364,-518910,-519110,-518710,1454,1454,0 +469,chaos,-520364,-516140,-516340,-515940,4224,4224,0 +470,chaos,-520364,-524680,-524880,-524480,4316,-4316,0 +471,chaos,-520364,-521420,-521620,-521220,1056,-1056,0 +472,chaos,-520364,-523960,-524160,-523760,3596,-3596,0 +473,chaos,-520364,-518850,-519050,-518650,1514,1514,0 +474,chaos,-520364,-517420,-517620,-517220,2944,2944,0 +475,chaos,-520364,-518920,-519120,-518720,1444,1444,0 +476,chaos,-520364,-517740,-517940,-517540,2624,2624,0 +477,chaos,-520364,-515480,-515680,-515280,4884,4884,0 +478,chaos,-520364,-519610,-519810,-519410,754,754,0 +479,chaos,-520364,-523820,-524020,-523620,3456,-3456,0 +480,chaos,-520364,-516470,-516670,-516270,3894,3894,0 +481,chaos,-520364,-517490,-517690,-517290,2874,2874,0 +482,chaos,-520364,-519170,-519370,-518970,1194,1194,0 +483,chaos,-520364,-524410,-524610,-524210,4046,-4046,0 +484,chaos,-520364,-525310,-525510,-525110,4946,-4946,0 +485,chaos,-520364,-522640,-522840,-522440,2276,-2276,0 +486,chaos,-520364,-515370,-515570,-515170,4994,4994,0 +487,chaos,-520364,-520760,-520960,-520560,396,-396,0 +488,chaos,-520364,-524340,-524540,-524140,3976,-3976,0 +489,chaos,-520364,-524580,-524780,-524380,4216,-4216,0 +490,chaos,-520364,-517630,-517830,-517430,2734,2734,0 +491,chaos,-520364,-522390,-522590,-522190,2026,-2026,0 +492,chaos,-520364,-521580,-521780,-521380,1216,-1216,0 +493,chaos,-520364,-520920,-521120,-520720,556,-556,0 +494,chaos,-520364,-516590,-516790,-516390,3774,3774,0 +495,chaos,-520364,-516330,-516530,-516130,4034,4034,0 +496,chaos,-520364,-518100,-518300,-517900,2264,2264,0 +497,chaos,-520364,-522360,-522560,-522160,1996,-1996,0 +498,chaos,-520364,-525040,-525240,-524840,4676,-4676,0 +499,chaos,-520364,-516110,-516310,-515910,4254,4254,0 +500,chaos,-520364,-521400,-521600,-521200,1036,-1036,0 +501,chaos,-520364,-525150,-525350,-524950,4786,-4786,0 +502,chaos,-520364,-516530,-516730,-516330,3834,3834,0 +503,chaos,-520364,-517040,-517240,-516840,3324,3324,0 +504,chaos,-520364,-524610,-524810,-524410,4246,-4246,0 +505,chaos,-520364,-518760,-518960,-518560,1604,1604,0 +506,chaos,-520364,-516600,-516800,-516400,3764,3764,0 +507,chaos,-520364,-523230,-523430,-523030,2866,-2866,0 +508,chaos,-520364,-516660,-516860,-516460,3704,3704,0 +509,chaos,-520364,-519270,-519470,-519070,1094,1094,0 +510,chaos,-520364,-520070,-520270,-519870,294,294,0.275 +511,chaos,-520364,-521880,-522080,-521680,1516,-1516,0 +512,chaos,-520364,-519570,-519770,-519370,794,794,0 +513,chaos,-520364,-518310,-518510,-518110,2054,2054,0 +514,chaos,-520364,-524240,-524440,-524040,3876,-3876,0 +515,chaos,-520364,-517750,-517950,-517550,2614,2614,0 +516,chaos,-520364,-517080,-517280,-516880,3284,3284,0 +517,chaos,-520364,-517760,-517960,-517560,2604,2604,0 +518,chaos,-520364,-516860,-517060,-516660,3504,3504,0 +519,chaos,-520364,-520220,-520420,-520020,144,144,0.65 +520,chaos,-520364,-524720,-524920,-524520,4356,-4356,0 +521,chaos,-520364,-519630,-519830,-519430,734,734,0 +522,chaos,-520364,-523610,-523810,-523410,3246,-3246,0 +523,chaos,-520364,-524460,-524660,-524260,4096,-4096,0 +524,chaos,-520364,-520560,-520760,-520360,196,-196,0.5 +525,chaos,-520364,-519340,-519540,-519140,1024,1024,0 +526,chaos,-520364,-515960,-516160,-515760,4404,4404,0 +527,chaos,-520364,-516830,-517030,-516630,3534,3534,0 +528,chaos,-520364,-518490,-518690,-518290,1874,1874,0 +529,chaos,-520364,-516130,-516330,-515930,4234,4234,0 +530,chaos,-520364,-518280,-518480,-518080,2084,2084,0 +531,chaos,-520364,-524380,-524580,-524180,4016,-4016,0 +532,chaos,-520364,-523400,-523600,-523200,3036,-3036,0 +533,chaos,-520364,-515480,-515680,-515280,4884,4884,0 +534,chaos,-520364,-519470,-519670,-519270,894,894,0 +535,chaos,-520364,-522350,-522550,-522150,1986,-1986,0 +536,chaos,-520364,-522250,-522450,-522050,1886,-1886,0 +537,chaos,-520364,-522520,-522720,-522320,2156,-2156,0 +538,chaos,-520364,-517460,-517660,-517260,2904,2904,0 +539,chaos,-520364,-515980,-516180,-515780,4384,4384,0 +540,chaos,-520364,-523560,-523760,-523360,3196,-3196,0 +541,chaos,-520364,-523010,-523210,-522810,2646,-2646,0 +542,chaos,-520364,-518400,-518600,-518200,1964,1964,0 +543,chaos,-520364,-517820,-518020,-517620,2544,2544,0 +544,chaos,-520364,-520760,-520960,-520560,396,-396,0 +545,chaos,-520364,-518230,-518430,-518030,2134,2134,0 +546,chaos,-520364,-523060,-523260,-522860,2696,-2696,0 +547,chaos,-520364,-519750,-519950,-519550,614,614,0 +548,chaos,-520364,-524730,-524930,-524530,4366,-4366,0 +549,chaos,-520364,-517860,-518060,-517660,2504,2504,0 +550,chaos,-520364,-523860,-524060,-523660,3496,-3496,0 +551,chaos,-520364,-524500,-524700,-524300,4136,-4136,0 +552,chaos,-520364,-523900,-524100,-523700,3536,-3536,0 +553,chaos,-520364,-515490,-515690,-515290,4874,4874,0 +554,chaos,-520364,-515500,-515700,-515300,4864,4864,0 +555,chaos,-520364,-516160,-516360,-515960,4204,4204,0 +556,chaos,-520364,-516560,-516760,-516360,3804,3804,0 +557,chaos,-520364,-523580,-523780,-523380,3216,-3216,0 +558,chaos,-520364,-519580,-519780,-519380,784,784,0 +559,chaos,-520364,-519030,-519230,-518830,1334,1334,0 +560,chaos,-520364,-518800,-519000,-518600,1564,1564,0 +561,chaos,-520364,-516930,-517130,-516730,3434,3434,0 +562,chaos,-520364,-522930,-523130,-522730,2566,-2566,0 +563,chaos,-520364,-516710,-516910,-516510,3654,3654,0 +564,chaos,-520364,-519280,-519480,-519080,1084,1084,0 +565,chaos,-520364,-518710,-518910,-518510,1654,1654,0 +566,chaos,-520364,-517720,-517920,-517520,2644,2644,0 +567,chaos,-520364,-519200,-519400,-519000,1164,1164,0 +568,chaos,-520364,-515750,-515950,-515550,4614,4614,0 +569,chaos,-520364,-515980,-516180,-515780,4384,4384,0 +570,chaos,-520364,-517100,-517300,-516900,3264,3264,0 +571,chaos,-520364,-516880,-517080,-516680,3484,3484,0 +572,chaos,-520364,-517050,-517250,-516850,3314,3314,0 +573,chaos,-520364,-524130,-524330,-523930,3766,-3766,0 +574,chaos,-520364,-523310,-523510,-523110,2946,-2946,0 +575,chaos,-520364,-519870,-520070,-519670,494,494,0 +576,chaos,-520364,-516890,-517090,-516690,3474,3474,0 +577,chaos,-520364,-524930,-525130,-524730,4566,-4566,0 +578,chaos,-520364,-520690,-520890,-520490,326,-326,0.175 +579,chaos,-520364,-516030,-516230,-515830,4334,4334,0 +580,chaos,-520364,-518710,-518910,-518510,1654,1654,0 +581,chaos,-520364,-524520,-524720,-524320,4156,-4156,0 +582,chaos,-520364,-515750,-515950,-515550,4614,4614,0 +583,chaos,-520364,-519340,-519540,-519140,1024,1024,0 +584,chaos,-520364,-521320,-521520,-521120,956,-956,0 +585,chaos,-520364,-524660,-524860,-524460,4296,-4296,0 +586,chaos,-520364,-522520,-522720,-522320,2156,-2156,0 +587,chaos,-520364,-516140,-516340,-515940,4224,4224,0 +588,chaos,-520364,-521970,-522170,-521770,1606,-1606,0 +589,chaos,-520364,-518340,-518540,-518140,2024,2024,0 +590,chaos,-520364,-520320,-520520,-520120,44,44,0.9 +591,chaos,-520364,-516910,-517110,-516710,3454,3454,0 +592,chaos,-520364,-516840,-517040,-516640,3524,3524,0 +593,chaos,-520364,-516040,-516240,-515840,4324,4324,0 +594,chaos,-520364,-518910,-519110,-518710,1454,1454,0 +595,chaos,-520364,-518920,-519120,-518720,1444,1444,0 +596,chaos,-520364,-521950,-522150,-521750,1586,-1586,0 +597,chaos,-520364,-521910,-522110,-521710,1546,-1546,0 +598,chaos,-520364,-515560,-515760,-515360,4804,4804,0 +599,chaos,-520364,-519500,-519700,-519300,864,864,0 +600,chaos,-520364,-524720,-524920,-524520,4356,-4356,0 +601,chaos,-520364,-516040,-516240,-515840,4324,4324,0 +602,chaos,-520364,-521200,-521400,-521000,836,-836,0 +603,chaos,-520364,-516300,-516500,-516100,4064,4064,0 +604,chaos,-520364,-522910,-523110,-522710,2546,-2546,0 +605,chaos,-520364,-524260,-524460,-524060,3896,-3896,0 +606,chaos,-520364,-519590,-519790,-519390,774,774,0 +607,chaos,-520364,-517070,-517270,-516870,3294,3294,0 +608,chaos,-520364,-516080,-516280,-515880,4284,4284,0 +609,chaos,-520364,-524390,-524590,-524190,4026,-4026,0 +610,chaos,-520364,-524230,-524430,-524030,3866,-3866,0 +611,chaos,-520364,-520270,-520470,-520070,94,94,0.775 +612,chaos,-520364,-522460,-522660,-522260,2096,-2096,0 +613,chaos,-520364,-515410,-515610,-515210,4954,4954,0 +614,chaos,-520364,-522640,-522840,-522440,2276,-2276,0 +615,chaos,-520364,-517180,-517380,-516980,3184,3184,0 +616,chaos,-520364,-523440,-523640,-523240,3076,-3076,0 +617,chaos,-520364,-523260,-523460,-523060,2896,-2896,0 +618,chaos,-520364,-517920,-518120,-517720,2444,2444,0 +619,chaos,-520364,-520550,-520750,-520350,186,-186,0.525 +620,chaos,-520364,-519190,-519390,-518990,1174,1174,0 +621,chaos,-520364,-523290,-523490,-523090,2926,-2926,0 +622,chaos,-520364,-520830,-521030,-520630,466,-466,0 +623,chaos,-520364,-517310,-517510,-517110,3054,3054,0 +624,chaos,-520364,-517710,-517910,-517510,2654,2654,0 +625,chaos,-520364,-520500,-520700,-520300,136,-136,0.65 +626,chaos,-520364,-525140,-525340,-524940,4776,-4776,0 +627,chaos,-520364,-523140,-523340,-522940,2776,-2776,0 +628,chaos,-520364,-522980,-523180,-522780,2616,-2616,0 +629,chaos,-520364,-520020,-520220,-519820,344,344,0.15 +630,chaos,-520364,-520730,-520930,-520530,366,-366,0.075 +631,chaos,-520364,-521240,-521440,-521040,876,-876,0 +632,chaos,-520364,-518630,-518830,-518430,1734,1734,0 +633,chaos,-520364,-523440,-523640,-523240,3076,-3076,0 +634,chaos,-520364,-523150,-523350,-522950,2786,-2786,0 +635,chaos,-520364,-519940,-520140,-519740,424,424,0 +636,chaos,-520364,-519470,-519670,-519270,894,894,0 +637,chaos,-520364,-517940,-518140,-517740,2424,2424,0 +638,chaos,-520364,-521170,-521370,-520970,806,-806,0 +639,chaos,-520364,-518280,-518480,-518080,2084,2084,0 +640,chaos,-520364,-516960,-517160,-516760,3404,3404,0 +641,chaos,-520364,-519860,-520060,-519660,504,504,0 +642,chaos,-520364,-515960,-516160,-515760,4404,4404,0 +643,chaos,-520364,-521620,-521820,-521420,1256,-1256,0 +644,chaos,-520364,-522150,-522350,-521950,1786,-1786,0 +645,chaos,-520364,-522820,-523020,-522620,2456,-2456,0 +646,chaos,-520364,-524670,-524870,-524470,4306,-4306,0 +647,chaos,-520364,-516320,-516520,-516120,4044,4044,0 +648,chaos,-520364,-516810,-517010,-516610,3554,3554,0 +649,chaos,-520364,-523460,-523660,-523260,3096,-3096,0 +650,chaos,-520364,-515420,-515620,-515220,4944,4944,0 +651,chaos,-520364,-516550,-516750,-516350,3814,3814,0 +652,chaos,-520364,-524640,-524840,-524440,4276,-4276,0 +653,chaos,-520364,-515490,-515690,-515290,4874,4874,0 +654,chaos,-520364,-516340,-516540,-516140,4024,4024,0 +655,chaos,-520364,-523510,-523710,-523310,3146,-3146,0 +656,chaos,-520364,-515930,-516130,-515730,4434,4434,0 +657,chaos,-520364,-520320,-520520,-520120,44,44,0.9 +658,chaos,-520364,-520890,-521090,-520690,526,-526,0 +659,chaos,-520364,-522330,-522530,-522130,1966,-1966,0 +660,chaos,-520364,-521490,-521690,-521290,1126,-1126,0 +661,chaos,-520364,-523690,-523890,-523490,3326,-3326,0 +662,chaos,-520364,-521860,-522060,-521660,1496,-1496,0 +663,chaos,-520364,-519510,-519710,-519310,854,854,0 +664,chaos,-520364,-520590,-520790,-520390,226,-226,0.425 +665,chaos,-520364,-515490,-515690,-515290,4874,4874,0 +666,chaos,-520364,-519970,-520170,-519770,394,394,0.025 +667,chaos,-520364,-516050,-516250,-515850,4314,4314,0 +668,chaos,-520364,-522010,-522210,-521810,1646,-1646,0 +669,chaos,-520364,-524840,-525040,-524640,4476,-4476,0 +670,chaos,-520364,-519050,-519250,-518850,1314,1314,0 +671,chaos,-520364,-520220,-520420,-520020,144,144,0.65 +672,chaos,-520364,-515960,-516160,-515760,4404,4404,0 +673,chaos,-520364,-521650,-521850,-521450,1286,-1286,0 +674,chaos,-520364,-517030,-517230,-516830,3334,3334,0 +675,chaos,-520364,-525070,-525270,-524870,4706,-4706,0 +676,chaos,-520364,-517250,-517450,-517050,3114,3114,0 +677,chaos,-520364,-523890,-524090,-523690,3526,-3526,0 +678,chaos,-520364,-518720,-518920,-518520,1644,1644,0 +679,chaos,-520364,-524960,-525160,-524760,4596,-4596,0 +680,chaos,-520364,-521970,-522170,-521770,1606,-1606,0 +681,chaos,-520364,-522070,-522270,-521870,1706,-1706,0 +682,chaos,-520364,-523440,-523640,-523240,3076,-3076,0 +683,chaos,-520364,-520230,-520430,-520030,134,134,0.675 +684,chaos,-520364,-520560,-520760,-520360,196,-196,0.5 +685,chaos,-520364,-524110,-524310,-523910,3746,-3746,0 +686,chaos,-520364,-515730,-515930,-515530,4634,4634,0 +687,chaos,-520364,-520650,-520850,-520450,286,-286,0.275 +688,chaos,-520364,-521870,-522070,-521670,1506,-1506,0 +689,chaos,-520364,-516860,-517060,-516660,3504,3504,0 +690,chaos,-520364,-525160,-525360,-524960,4796,-4796,0 +691,chaos,-520364,-522850,-523050,-522650,2486,-2486,0 +692,chaos,-520364,-524890,-525090,-524690,4526,-4526,0 +693,chaos,-520364,-519920,-520120,-519720,444,444,0 +694,chaos,-520364,-519560,-519760,-519360,804,804,0 +695,chaos,-520364,-523960,-524160,-523760,3596,-3596,0 +696,chaos,-520364,-517590,-517790,-517390,2774,2774,0 +697,chaos,-520364,-522910,-523110,-522710,2546,-2546,0 +698,chaos,-520364,-520620,-520820,-520420,256,-256,0.35 +699,chaos,-520364,-515570,-515770,-515370,4794,4794,0 +700,chaos,-520364,-523780,-523980,-523580,3416,-3416,0 +701,chaos,-520364,-525050,-525250,-524850,4686,-4686,0 +702,chaos,-520364,-519640,-519840,-519440,724,724,0 +703,chaos,-520364,-525200,-525400,-525000,4836,-4836,0 +704,chaos,-520364,-515660,-515860,-515460,4704,4704,0 +705,chaos,-520364,-519900,-520100,-519700,464,464,0 +706,chaos,-520364,-516930,-517130,-516730,3434,3434,0 +707,chaos,-520364,-521260,-521460,-521060,896,-896,0 +708,chaos,-520364,-519550,-519750,-519350,814,814,0 +709,chaos,-520364,-516710,-516910,-516510,3654,3654,0 +710,chaos,-520364,-521180,-521380,-520980,816,-816,0 +711,chaos,-520364,-517750,-517950,-517550,2614,2614,0 +712,chaos,-520364,-524280,-524480,-524080,3916,-3916,0 +713,chaos,-520364,-516370,-516570,-516170,3994,3994,0 +714,chaos,-520364,-517090,-517290,-516890,3274,3274,0 +715,chaos,-520364,-518020,-518220,-517820,2344,2344,0 +716,chaos,-520364,-519750,-519950,-519550,614,614,0 +717,chaos,-520364,-522700,-522900,-522500,2336,-2336,0 +718,chaos,-520364,-516510,-516710,-516310,3854,3854,0 +719,chaos,-520364,-519330,-519530,-519130,1034,1034,0 +720,chaos,-520364,-524460,-524660,-524260,4096,-4096,0 +721,chaos,-520364,-524480,-524680,-524280,4116,-4116,0 +722,chaos,-520364,-522280,-522480,-522080,1916,-1916,0 +723,chaos,-520364,-521150,-521350,-520950,786,-786,0 +724,chaos,-520364,-524150,-524350,-523950,3786,-3786,0 +725,chaos,-520364,-523190,-523390,-522990,2826,-2826,0 +726,chaos,-520364,-517510,-517710,-517310,2854,2854,0 +727,chaos,-520364,-524440,-524640,-524240,4076,-4076,0 +728,chaos,-520364,-524620,-524820,-524420,4256,-4256,0 +729,chaos,-520364,-516180,-516380,-515980,4184,4184,0 +730,chaos,-520364,-516850,-517050,-516650,3514,3514,0 +731,chaos,-520364,-516430,-516630,-516230,3934,3934,0 +732,chaos,-520364,-517610,-517810,-517410,2754,2754,0 +733,chaos,-520364,-521600,-521800,-521400,1236,-1236,0 +734,chaos,-520364,-523920,-524120,-523720,3556,-3556,0 +735,chaos,-520364,-524760,-524960,-524560,4396,-4396,0 +736,chaos,-520364,-524800,-525000,-524600,4436,-4436,0 +737,chaos,-520364,-519770,-519970,-519570,594,594,0 +738,chaos,-520364,-520540,-520740,-520340,176,-176,0.55 +739,chaos,-520364,-521890,-522090,-521690,1526,-1526,0 +740,chaos,-520364,-522310,-522510,-522110,1946,-1946,0 +741,chaos,-520364,-520730,-520930,-520530,366,-366,0.075 +742,chaos,-520364,-519190,-519390,-518990,1174,1174,0 +743,chaos,-520364,-521670,-521870,-521470,1306,-1306,0 +744,chaos,-520364,-521820,-522020,-521620,1456,-1456,0 +745,chaos,-520364,-516240,-516440,-516040,4124,4124,0 +746,chaos,-520364,-515630,-515830,-515430,4734,4734,0 +747,chaos,-520364,-521360,-521560,-521160,996,-996,0 +748,chaos,-520364,-515550,-515750,-515350,4814,4814,0 +749,chaos,-520364,-522040,-522240,-521840,1676,-1676,0 +750,chaos,-520364,-517740,-517940,-517540,2624,2624,0 +751,chaos,-520364,-524370,-524570,-524170,4006,-4006,0 +752,chaos,-520364,-518100,-518300,-517900,2264,2264,0 +753,chaos,-520364,-521210,-521410,-521010,846,-846,0 +754,chaos,-520364,-516340,-516540,-516140,4024,4024,0 +755,chaos,-520364,-522220,-522420,-522020,1856,-1856,0 +756,chaos,-520364,-524850,-525050,-524650,4486,-4486,0 +757,chaos,-520364,-523590,-523790,-523390,3226,-3226,0 +758,chaos,-520364,-515500,-515700,-515300,4864,4864,0 +759,chaos,-520364,-516260,-516460,-516060,4104,4104,0 +760,chaos,-520364,-521450,-521650,-521250,1086,-1086,0 +761,chaos,-520364,-521870,-522070,-521670,1506,-1506,0 +762,chaos,-520364,-519570,-519770,-519370,794,794,0 +763,chaos,-520364,-519910,-520110,-519710,454,454,0 +764,chaos,-520364,-520600,-520800,-520400,236,-236,0.4 +765,chaos,-520364,-519300,-519500,-519100,1064,1064,0 +766,chaos,-520364,-520220,-520420,-520020,144,144,0.65 +767,chaos,-520364,-524690,-524890,-524490,4326,-4326,0 +768,chaos,-520364,-518800,-519000,-518600,1564,1564,0 +769,chaos,-520364,-524620,-524820,-524420,4256,-4256,0 +770,chaos,-520364,-519600,-519800,-519400,764,764,0 +771,chaos,-520364,-519040,-519240,-518840,1324,1324,0 +772,chaos,-520364,-519140,-519340,-518940,1224,1224,0 +773,chaos,-520364,-516170,-516370,-515970,4194,4194,0 +774,chaos,-520364,-521700,-521900,-521500,1336,-1336,0 +775,chaos,-520364,-522150,-522350,-521950,1786,-1786,0 +776,chaos,-520364,-524180,-524380,-523980,3816,-3816,0 +777,chaos,-520364,-518930,-519130,-518730,1434,1434,0 +778,chaos,-520364,-521140,-521340,-520940,776,-776,0 +779,chaos,-520364,-516560,-516760,-516360,3804,3804,0 +780,chaos,-520364,-519930,-520130,-519730,434,434,0 +781,chaos,-520364,-517990,-518190,-517790,2374,2374,0 +782,chaos,-520364,-519800,-520000,-519600,564,564,0 +783,chaos,-520364,-516820,-517020,-516620,3544,3544,0 +784,chaos,-520364,-518210,-518410,-518010,2154,2154,0 +785,chaos,-520364,-515860,-516060,-515660,4504,4504,0 +786,chaos,-520364,-516940,-517140,-516740,3424,3424,0 +787,chaos,-520364,-520010,-520210,-519810,354,354,0.125 +788,chaos,-520364,-522030,-522230,-521830,1666,-1666,0 +789,chaos,-520364,-517670,-517870,-517470,2694,2694,0 +790,chaos,-520364,-517170,-517370,-516970,3194,3194,0 +791,chaos,-520364,-517580,-517780,-517380,2784,2784,0 +792,chaos,-520364,-518920,-519120,-518720,1444,1444,0 +793,chaos,-520364,-520130,-520330,-519930,234,234,0.425 +794,chaos,-520364,-521070,-521270,-520870,706,-706,0 +795,chaos,-520364,-517690,-517890,-517490,2674,2674,0 +796,chaos,-520364,-516800,-517000,-516600,3564,3564,0 +797,chaos,-520364,-523830,-524030,-523630,3466,-3466,0 +798,chaos,-520364,-515840,-516040,-515640,4524,4524,0 +799,chaos,-520364,-520220,-520420,-520020,144,144,0.65 +800,chaos,-520364,-521800,-522000,-521600,1436,-1436,0 +801,chaos,-520364,-520970,-521170,-520770,606,-606,0 +802,chaos,-520364,-522810,-523010,-522610,2446,-2446,0 +803,chaos,-520364,-524820,-525020,-524620,4456,-4456,0 +804,chaos,-520364,-523360,-523560,-523160,2996,-2996,0 +805,chaos,-520364,-518380,-518580,-518180,1984,1984,0 +806,chaos,-520364,-521720,-521920,-521520,1356,-1356,0 +807,chaos,-520364,-520350,-520550,-520150,14,14,0.975 +808,chaos,-520364,-518470,-518670,-518270,1894,1894,0 +809,chaos,-520364,-517440,-517640,-517240,2924,2924,0 +810,chaos,-520364,-517650,-517850,-517450,2714,2714,0 +811,chaos,-520364,-520720,-520920,-520520,356,-356,0.1 +812,chaos,-520364,-524000,-524200,-523800,3636,-3636,0 +813,chaos,-520364,-518170,-518370,-517970,2194,2194,0 +814,chaos,-520364,-520860,-521060,-520660,496,-496,0 +815,chaos,-520364,-517490,-517690,-517290,2874,2874,0 +816,chaos,-520364,-519700,-519900,-519500,664,664,0 +817,chaos,-520364,-521440,-521640,-521240,1076,-1076,0 +818,chaos,-520364,-519930,-520130,-519730,434,434,0 +819,chaos,-520364,-522220,-522420,-522020,1856,-1856,0 +820,chaos,-520364,-516500,-516700,-516300,3864,3864,0 +821,chaos,-520364,-516650,-516850,-516450,3714,3714,0 +822,chaos,-520364,-517830,-518030,-517630,2534,2534,0 +823,chaos,-520364,-519560,-519760,-519360,804,804,0 +824,chaos,-520364,-519340,-519540,-519140,1024,1024,0 +825,chaos,-520364,-518690,-518890,-518490,1674,1674,0 +826,chaos,-520364,-515890,-516090,-515690,4474,4474,0 +827,chaos,-520364,-521670,-521870,-521470,1306,-1306,0 +828,chaos,-520364,-525220,-525420,-525020,4856,-4856,0 +829,chaos,-520364,-519030,-519230,-518830,1334,1334,0 +830,chaos,-520364,-521610,-521810,-521410,1246,-1246,0 +831,chaos,-520364,-517500,-517700,-517300,2864,2864,0 +832,chaos,-520364,-518630,-518830,-518430,1734,1734,0 +833,chaos,-520364,-524970,-525170,-524770,4606,-4606,0 +834,chaos,-520364,-517480,-517680,-517280,2884,2884,0 +835,chaos,-520364,-517580,-517780,-517380,2784,2784,0 +836,chaos,-520364,-522180,-522380,-521980,1816,-1816,0 +837,chaos,-520364,-518500,-518700,-518300,1864,1864,0 +838,chaos,-520364,-517430,-517630,-517230,2934,2934,0 +839,chaos,-520364,-517260,-517460,-517060,3104,3104,0 +840,chaos,-520364,-522990,-523190,-522790,2626,-2626,0 +841,chaos,-520364,-517560,-517760,-517360,2804,2804,0 +842,chaos,-520364,-517840,-518040,-517640,2524,2524,0 +843,chaos,-520364,-525150,-525350,-524950,4786,-4786,0 +844,chaos,-520364,-519020,-519220,-518820,1344,1344,0 +845,chaos,-520364,-518640,-518840,-518440,1724,1724,0 +846,chaos,-520364,-522860,-523060,-522660,2496,-2496,0 +847,chaos,-520364,-520050,-520250,-519850,314,314,0.225 +848,chaos,-520364,-516920,-517120,-516720,3444,3444,0 +849,chaos,-520364,-525270,-525470,-525070,4906,-4906,0 +850,chaos,-520364,-521620,-521820,-521420,1256,-1256,0 +851,chaos,-520364,-524960,-525160,-524760,4596,-4596,0 +852,chaos,-520364,-520780,-520980,-520580,416,-416,0 +853,chaos,-520364,-524910,-525110,-524710,4546,-4546,0 +854,chaos,-520364,-520670,-520870,-520470,306,-306,0.225 +855,chaos,-520364,-523490,-523690,-523290,3126,-3126,0 +856,chaos,-520364,-523020,-523220,-522820,2656,-2656,0 +857,chaos,-520364,-518050,-518250,-517850,2314,2314,0 +858,chaos,-520364,-519320,-519520,-519120,1044,1044,0 +859,chaos,-520364,-523050,-523250,-522850,2686,-2686,0 +860,chaos,-520364,-519920,-520120,-519720,444,444,0 +861,chaos,-520364,-522740,-522940,-522540,2376,-2376,0 +862,chaos,-520364,-525330,-525530,-525130,4966,-4966,0 +863,chaos,-520364,-521800,-522000,-521600,1436,-1436,0 +864,chaos,-520364,-515990,-516190,-515790,4374,4374,0 +865,chaos,-520364,-517690,-517890,-517490,2674,2674,0 +866,chaos,-520364,-520300,-520500,-520100,64,64,0.85 +867,chaos,-520364,-522080,-522280,-521880,1716,-1716,0 +868,chaos,-520364,-518260,-518460,-518060,2104,2104,0 +869,chaos,-520364,-516570,-516770,-516370,3794,3794,0 +870,chaos,-520364,-523100,-523300,-522900,2736,-2736,0 +871,chaos,-520364,-516820,-517020,-516620,3544,3544,0 +872,chaos,-520364,-520390,-520590,-520190,26,-26,0.925 +873,chaos,-520364,-517280,-517480,-517080,3084,3084,0 +874,chaos,-520364,-524720,-524920,-524520,4356,-4356,0 +875,chaos,-520364,-520550,-520750,-520350,186,-186,0.525 +876,chaos,-520364,-522270,-522470,-522070,1906,-1906,0 +877,chaos,-520364,-518640,-518840,-518440,1724,1724,0 +878,chaos,-520364,-517550,-517750,-517350,2814,2814,0 +879,chaos,-520364,-516210,-516410,-516010,4154,4154,0 +880,chaos,-520364,-516050,-516250,-515850,4314,4314,0 +881,chaos,-520364,-516240,-516440,-516040,4124,4124,0 +882,chaos,-520364,-518860,-519060,-518660,1504,1504,0 +883,chaos,-520364,-517080,-517280,-516880,3284,3284,0 +884,chaos,-520364,-520890,-521090,-520690,526,-526,0 +885,chaos,-520364,-520630,-520830,-520430,266,-266,0.325 +886,chaos,-520364,-516440,-516640,-516240,3924,3924,0 +887,chaos,-520364,-524320,-524520,-524120,3956,-3956,0 +888,chaos,-520364,-516670,-516870,-516470,3694,3694,0 +889,chaos,-520364,-515780,-515980,-515580,4584,4584,0 +890,chaos,-520364,-524190,-524390,-523990,3826,-3826,0 +891,chaos,-520364,-525020,-525220,-524820,4656,-4656,0 +892,chaos,-520364,-521200,-521400,-521000,836,-836,0 +893,chaos,-520364,-518330,-518530,-518130,2034,2034,0 +894,chaos,-520364,-519250,-519450,-519050,1114,1114,0 +895,chaos,-520364,-520570,-520770,-520370,206,-206,0.475 +896,chaos,-520364,-520980,-521180,-520780,616,-616,0 +897,chaos,-520364,-517860,-518060,-517660,2504,2504,0 +898,chaos,-520364,-523650,-523850,-523450,3286,-3286,0 +899,chaos,-520364,-518210,-518410,-518010,2154,2154,0 +900,chaos,-520364,-524460,-524660,-524260,4096,-4096,0 +901,chaos,-520364,-518490,-518690,-518290,1874,1874,0 +902,chaos,-520364,-520590,-520790,-520390,226,-226,0.425 +903,chaos,-520364,-521520,-521720,-521320,1156,-1156,0 +904,chaos,-520364,-517160,-517360,-516960,3204,3204,0 +905,chaos,-520364,-522970,-523170,-522770,2606,-2606,0 +906,chaos,-520364,-515960,-516160,-515760,4404,4404,0 +907,chaos,-520364,-520430,-520630,-520230,66,-66,0.825 +908,chaos,-520364,-523710,-523910,-523510,3346,-3346,0 +909,chaos,-520364,-523380,-523580,-523180,3016,-3016,0 +910,chaos,-520364,-521620,-521820,-521420,1256,-1256,0 +911,chaos,-520364,-515760,-515960,-515560,4604,4604,0 +912,chaos,-520364,-515750,-515950,-515550,4614,4614,0 +913,chaos,-520364,-521270,-521470,-521070,906,-906,0 +914,chaos,-520364,-516830,-517030,-516630,3534,3534,0 +915,chaos,-520364,-518850,-519050,-518650,1514,1514,0 +916,chaos,-520364,-517660,-517860,-517460,2704,2704,0 +917,chaos,-520364,-522940,-523140,-522740,2576,-2576,0 +918,chaos,-520364,-523400,-523600,-523200,3036,-3036,0 +919,chaos,-520364,-520540,-520740,-520340,176,-176,0.55 +920,chaos,-520364,-523170,-523370,-522970,2806,-2806,0 +921,chaos,-520364,-524120,-524320,-523920,3756,-3756,0 +922,chaos,-520364,-519120,-519320,-518920,1244,1244,0 +923,chaos,-520364,-519890,-520090,-519690,474,474,0 +924,chaos,-520364,-516930,-517130,-516730,3434,3434,0 +925,chaos,-520364,-525100,-525300,-524900,4736,-4736,0 +926,chaos,-520364,-519460,-519660,-519260,904,904,0 +927,chaos,-520364,-515720,-515920,-515520,4644,4644,0 +928,chaos,-520364,-522530,-522730,-522330,2166,-2166,0 +929,chaos,-520364,-524050,-524250,-523850,3686,-3686,0 +930,chaos,-520364,-519810,-520010,-519610,554,554,0 +931,chaos,-520364,-524360,-524560,-524160,3996,-3996,0 +932,chaos,-520364,-525180,-525380,-524980,4816,-4816,0 +933,chaos,-520364,-521790,-521990,-521590,1426,-1426,0 +934,chaos,-520364,-524650,-524850,-524450,4286,-4286,0 +935,chaos,-520364,-516090,-516290,-515890,4274,4274,0 +936,chaos,-520364,-519710,-519910,-519510,654,654,0 +937,chaos,-520364,-522160,-522360,-521960,1796,-1796,0 +938,chaos,-520364,-523680,-523880,-523480,3316,-3316,0 +939,chaos,-520364,-521960,-522160,-521760,1596,-1596,0 +940,chaos,-520364,-524800,-525000,-524600,4436,-4436,0 +941,chaos,-520364,-520300,-520500,-520100,64,64,0.85 +942,chaos,-520364,-522210,-522410,-522010,1846,-1846,0 +943,chaos,-520364,-524870,-525070,-524670,4506,-4506,0 +944,chaos,-520364,-517500,-517700,-517300,2864,2864,0 +945,chaos,-520364,-518590,-518790,-518390,1774,1774,0 +946,chaos,-520364,-520660,-520860,-520460,296,-296,0.25 +947,chaos,-520364,-523180,-523380,-522980,2816,-2816,0 +948,chaos,-520364,-524820,-525020,-524620,4456,-4456,0 +949,chaos,-520364,-518080,-518280,-517880,2284,2284,0 +950,chaos,-520364,-523780,-523980,-523580,3416,-3416,0 +951,chaos,-520364,-516020,-516220,-515820,4344,4344,0 +952,chaos,-520364,-524310,-524510,-524110,3946,-3946,0 +953,chaos,-520364,-517890,-518090,-517690,2474,2474,0 +954,chaos,-520364,-523320,-523520,-523120,2956,-2956,0 +955,chaos,-520364,-518090,-518290,-517890,2274,2274,0 +956,chaos,-520364,-520890,-521090,-520690,526,-526,0 +957,chaos,-520364,-520830,-521030,-520630,466,-466,0 +958,chaos,-520364,-521930,-522130,-521730,1566,-1566,0 +959,chaos,-520364,-520050,-520250,-519850,314,314,0.225 +960,chaos,-520364,-523740,-523940,-523540,3376,-3376,0 +961,chaos,-520364,-519940,-520140,-519740,424,424,0 +962,chaos,-520364,-525300,-525500,-525100,4936,-4936,0 +963,chaos,-520364,-519040,-519240,-518840,1324,1324,0 +964,chaos,-520364,-521570,-521770,-521370,1206,-1206,0 +965,chaos,-520364,-518070,-518270,-517870,2294,2294,0 +966,chaos,-520364,-525300,-525500,-525100,4936,-4936,0 +967,chaos,-520364,-516040,-516240,-515840,4324,4324,0 +968,chaos,-520364,-521450,-521650,-521250,1086,-1086,0 +969,chaos,-520364,-516760,-516960,-516560,3604,3604,0 +970,chaos,-520364,-519000,-519200,-518800,1364,1364,0 +971,chaos,-520364,-518110,-518310,-517910,2254,2254,0 +972,chaos,-520364,-524970,-525170,-524770,4606,-4606,0 +973,chaos,-520364,-516240,-516440,-516040,4124,4124,0 +974,chaos,-520364,-522740,-522940,-522540,2376,-2376,0 +975,chaos,-520364,-522760,-522960,-522560,2396,-2396,0 +976,chaos,-520364,-524340,-524540,-524140,3976,-3976,0 +977,chaos,-520364,-524630,-524830,-524430,4266,-4266,0 +978,chaos,-520364,-519060,-519260,-518860,1304,1304,0 +979,chaos,-520364,-518530,-518730,-518330,1834,1834,0 +980,chaos,-520364,-515900,-516100,-515700,4464,4464,0 +981,chaos,-520364,-518200,-518400,-518000,2164,2164,0 +982,chaos,-520364,-524920,-525120,-524720,4556,-4556,0 +983,chaos,-520364,-518350,-518550,-518150,2014,2014,0 +984,chaos,-520364,-522460,-522660,-522260,2096,-2096,0 +985,chaos,-520364,-517080,-517280,-516880,3284,3284,0 +986,chaos,-520364,-525130,-525330,-524930,4766,-4766,0 +987,chaos,-520364,-522460,-522660,-522260,2096,-2096,0 +988,chaos,-520364,-523030,-523230,-522830,2666,-2666,0 +989,chaos,-520364,-516370,-516570,-516170,3994,3994,0 +990,chaos,-520364,-523760,-523960,-523560,3396,-3396,0 +991,chaos,-520364,-522710,-522910,-522510,2346,-2346,0 +992,chaos,-520364,-525130,-525330,-524930,4766,-4766,0 +993,chaos,-520364,-517170,-517370,-516970,3194,3194,0 +994,chaos,-520364,-522060,-522260,-521860,1696,-1696,0 +995,chaos,-520364,-520160,-520360,-519960,204,204,0.5 +996,chaos,-520364,-525350,-525550,-525150,4986,-4986,0 +997,chaos,-520364,-519830,-520030,-519630,534,534,0 +998,chaos,-520364,-525240,-525440,-525040,4876,-4876,0 +999,chaos,-520364,-522940,-523140,-522740,2576,-2576,0 +1000,chaos,-520364,-522180,-522380,-521980,1816,-1816,0 +1001,chaos,-520364,-524970,-525170,-524770,4606,-4606,0 +1002,chaos,-520364,-516220,-516420,-516020,4144,4144,0 +1003,chaos,-520364,-515440,-515640,-515240,4924,4924,0 +1004,chaos,-520364,-522110,-522310,-521910,1746,-1746,0 +1005,chaos,-520364,-519930,-520130,-519730,434,434,0 +1006,chaos,-520364,-520990,-521190,-520790,626,-626,0 +1007,chaos,-520364,-523330,-523530,-523130,2966,-2966,0 +1008,chaos,-520364,-515910,-516110,-515710,4454,4454,0 +1009,chaos,-520364,-516460,-516660,-516260,3904,3904,0 +1010,chaos,-520364,-518480,-518680,-518280,1884,1884,0 +1011,chaos,-520364,-522180,-522380,-521980,1816,-1816,0 +1012,chaos,-520364,-517560,-517760,-517360,2804,2804,0 +1013,chaos,-520364,-522680,-522880,-522480,2316,-2316,0 +1014,chaos,-520364,-522070,-522270,-521870,1706,-1706,0 +1015,chaos,-520364,-517350,-517550,-517150,3014,3014,0 +1016,chaos,-520364,-517780,-517980,-517580,2584,2584,0 +1017,chaos,-520364,-522060,-522260,-521860,1696,-1696,0 +1018,chaos,-520364,-515950,-516150,-515750,4414,4414,0 +1019,chaos,-520364,-523820,-524020,-523620,3456,-3456,0 +1020,chaos,-520364,-516130,-516330,-515930,4234,4234,0 +1021,chaos,-520364,-518770,-518970,-518570,1594,1594,0 +1022,chaos,-520364,-521270,-521470,-521070,906,-906,0 +1023,chaos,-520364,-521500,-521700,-521300,1136,-1136,0 +1024,chaos,-520364,-515620,-515820,-515420,4744,4744,0 +1025,chaos,-520364,-522620,-522820,-522420,2256,-2256,0 +1026,chaos,-520364,-516420,-516620,-516220,3944,3944,0 +1027,chaos,-520364,-515910,-516110,-515710,4454,4454,0 +1028,chaos,-520364,-520860,-521060,-520660,496,-496,0 +1029,chaos,-520364,-516230,-516430,-516030,4134,4134,0 +1030,chaos,-520364,-521270,-521470,-521070,906,-906,0 +1031,chaos,-520364,-524270,-524470,-524070,3906,-3906,0 +1032,chaos,-520364,-522450,-522650,-522250,2086,-2086,0 +1033,chaos,-520364,-524650,-524850,-524450,4286,-4286,0 +1034,chaos,-520364,-518600,-518800,-518400,1764,1764,0 +1035,chaos,-520364,-524070,-524270,-523870,3706,-3706,0 +1036,chaos,-520364,-515500,-515700,-515300,4864,4864,0 +1037,chaos,-520364,-525020,-525220,-524820,4656,-4656,0 +1038,chaos,-520364,-521020,-521220,-520820,656,-656,0 +1039,chaos,-520364,-519910,-520110,-519710,454,454,0 +1040,chaos,-520364,-521990,-522190,-521790,1626,-1626,0 +1041,chaos,-520364,-522550,-522750,-522350,2186,-2186,0 +1042,chaos,-520364,-519000,-519200,-518800,1364,1364,0 +1043,chaos,-520364,-516340,-516540,-516140,4024,4024,0 +1044,chaos,-520364,-524020,-524220,-523820,3656,-3656,0 +1045,chaos,-520364,-515440,-515640,-515240,4924,4924,0 +1046,chaos,-520364,-524600,-524800,-524400,4236,-4236,0 +1047,chaos,-520364,-523250,-523450,-523050,2886,-2886,0 +1048,chaos,-520364,-520190,-520390,-519990,174,174,0.575 +1049,chaos,-520364,-522550,-522750,-522350,2186,-2186,0 +1050,chaos,-520364,-517720,-517920,-517520,2644,2644,0 +1051,chaos,-520364,-516290,-516490,-516090,4074,4074,0 +1052,chaos,-520364,-518350,-518550,-518150,2014,2014,0 +1053,chaos,-520364,-522520,-522720,-522320,2156,-2156,0 +1054,chaos,-520364,-522630,-522830,-522430,2266,-2266,0 +1055,chaos,-520364,-517490,-517690,-517290,2874,2874,0 +1056,chaos,-520364,-518550,-518750,-518350,1814,1814,0 +1057,chaos,-520364,-522380,-522580,-522180,2016,-2016,0 +1058,chaos,-520364,-524550,-524750,-524350,4186,-4186,0 +1059,chaos,-520364,-520280,-520480,-520080,84,84,0.8 +1060,chaos,-520364,-523090,-523290,-522890,2726,-2726,0 +1061,chaos,-520364,-523810,-524010,-523610,3446,-3446,0 +1062,chaos,-520364,-519710,-519910,-519510,654,654,0 +1063,chaos,-520364,-518100,-518300,-517900,2264,2264,0 +1064,chaos,-520364,-517500,-517700,-517300,2864,2864,0 +1065,chaos,-520364,-516280,-516480,-516080,4084,4084,0 +1066,chaos,-520364,-517100,-517300,-516900,3264,3264,0 +1067,chaos,-520364,-516070,-516270,-515870,4294,4294,0 +1068,chaos,-520364,-519400,-519600,-519200,964,964,0 +1069,chaos,-520364,-518490,-518690,-518290,1874,1874,0 +1070,chaos,-520364,-521690,-521890,-521490,1326,-1326,0 +1071,chaos,-520364,-515890,-516090,-515690,4474,4474,0 +1072,chaos,-520364,-515670,-515870,-515470,4694,4694,0 +1073,chaos,-520364,-524430,-524630,-524230,4066,-4066,0 +1074,chaos,-520364,-520690,-520890,-520490,326,-326,0.175 +1075,chaos,-520364,-520800,-521000,-520600,436,-436,0 +1076,chaos,-520364,-519820,-520020,-519620,544,544,0 +1077,chaos,-520364,-518370,-518570,-518170,1994,1994,0 +1078,chaos,-520364,-524810,-525010,-524610,4446,-4446,0 +1079,chaos,-520364,-516570,-516770,-516370,3794,3794,0 +1080,chaos,-520364,-516710,-516910,-516510,3654,3654,0 +1081,chaos,-520364,-522490,-522690,-522290,2126,-2126,0 +1082,chaos,-520364,-516040,-516240,-515840,4324,4324,0 +1083,chaos,-520364,-519940,-520140,-519740,424,424,0 +1084,chaos,-520364,-524080,-524280,-523880,3716,-3716,0 +1085,chaos,-520364,-524650,-524850,-524450,4286,-4286,0 +1086,chaos,-520364,-521430,-521630,-521230,1066,-1066,0 +1087,chaos,-520364,-521970,-522170,-521770,1606,-1606,0 +1088,chaos,-520364,-522650,-522850,-522450,2286,-2286,0 +1089,chaos,-520364,-522290,-522490,-522090,1926,-1926,0 +1090,chaos,-520364,-521570,-521770,-521370,1206,-1206,0 +1091,chaos,-520364,-522260,-522460,-522060,1896,-1896,0 +1092,chaos,-520364,-519120,-519320,-518920,1244,1244,0 +1093,chaos,-520364,-516540,-516740,-516340,3824,3824,0 +1094,chaos,-520364,-518740,-518940,-518540,1624,1624,0 +1095,chaos,-520364,-520880,-521080,-520680,516,-516,0 +1096,chaos,-520364,-517000,-517200,-516800,3364,3364,0 +1097,chaos,-520364,-523560,-523760,-523360,3196,-3196,0 +1098,chaos,-520364,-520960,-521160,-520760,596,-596,0 +1099,chaos,-520364,-525030,-525230,-524830,4666,-4666,0 +1100,chaos,-520364,-518010,-518210,-517810,2354,2354,0 +1101,chaos,-520364,-515750,-515950,-515550,4614,4614,0 +1102,chaos,-520364,-516970,-517170,-516770,3394,3394,0 +1103,chaos,-520364,-522240,-522440,-522040,1876,-1876,0 +1104,chaos,-520364,-522120,-522320,-521920,1756,-1756,0 +1105,chaos,-520364,-516130,-516330,-515930,4234,4234,0 +1106,chaos,-520364,-518510,-518710,-518310,1854,1854,0 +1107,chaos,-520364,-524410,-524610,-524210,4046,-4046,0 +1108,chaos,-520364,-523950,-524150,-523750,3586,-3586,0 +1109,chaos,-520364,-520840,-521040,-520640,476,-476,0 +1110,chaos,-520364,-520600,-520800,-520400,236,-236,0.4 +1111,chaos,-520364,-518720,-518920,-518520,1644,1644,0 +1112,chaos,-520364,-524170,-524370,-523970,3806,-3806,0 +1113,chaos,-520364,-523290,-523490,-523090,2926,-2926,0 +1114,chaos,-520364,-516840,-517040,-516640,3524,3524,0 +1115,chaos,-520364,-517140,-517340,-516940,3224,3224,0 +1116,chaos,-520364,-519860,-520060,-519660,504,504,0 +1117,chaos,-520364,-521150,-521350,-520950,786,-786,0 +1118,chaos,-520364,-525180,-525380,-524980,4816,-4816,0 +1119,chaos,-520364,-516390,-516590,-516190,3974,3974,0 +1120,chaos,-520364,-516710,-516910,-516510,3654,3654,0 +1121,chaos,-520364,-523800,-524000,-523600,3436,-3436,0 +1122,chaos,-520364,-518680,-518880,-518480,1684,1684,0 +1123,chaos,-520364,-524500,-524700,-524300,4136,-4136,0 +1124,chaos,-520364,-521110,-521310,-520910,746,-746,0 +1125,chaos,-520364,-524410,-524610,-524210,4046,-4046,0 +1126,chaos,-520364,-516520,-516720,-516320,3844,3844,0 +1127,chaos,-520364,-524180,-524380,-523980,3816,-3816,0 +1128,chaos,-520364,-520970,-521170,-520770,606,-606,0 +1129,chaos,-520364,-523850,-524050,-523650,3486,-3486,0 +1130,chaos,-520364,-518010,-518210,-517810,2354,2354,0 +1131,chaos,-520364,-523280,-523480,-523080,2916,-2916,0 +1132,chaos,-520364,-523840,-524040,-523640,3476,-3476,0 +1133,chaos,-520364,-518090,-518290,-517890,2274,2274,0 +1134,chaos,-520364,-522320,-522520,-522120,1956,-1956,0 +1135,chaos,-520364,-518900,-519100,-518700,1464,1464,0 +1136,chaos,-520364,-521670,-521870,-521470,1306,-1306,0 +1137,chaos,-520364,-519650,-519850,-519450,714,714,0 +1138,chaos,-520364,-522560,-522760,-522360,2196,-2196,0 +1139,chaos,-520364,-517690,-517890,-517490,2674,2674,0 +1140,chaos,-520364,-517950,-518150,-517750,2414,2414,0 +1141,chaos,-520364,-521480,-521680,-521280,1116,-1116,0 +1142,chaos,-520364,-521180,-521380,-520980,816,-816,0 +1143,chaos,-520364,-524360,-524560,-524160,3996,-3996,0 +1144,chaos,-520364,-516790,-516990,-516590,3574,3574,0 +1145,chaos,-520364,-519600,-519800,-519400,764,764,0 +1146,chaos,-520364,-525050,-525250,-524850,4686,-4686,0 +1147,chaos,-520364,-518350,-518550,-518150,2014,2014,0 +1148,chaos,-520364,-515840,-516040,-515640,4524,4524,0 +1149,chaos,-520364,-520970,-521170,-520770,606,-606,0 +1150,chaos,-520364,-520260,-520460,-520060,104,104,0.75 +1151,chaos,-520364,-516430,-516630,-516230,3934,3934,0 +1152,chaos,-520364,-519990,-520190,-519790,374,374,0.075 +1153,chaos,-520364,-522070,-522270,-521870,1706,-1706,0 +1154,chaos,-520364,-524180,-524380,-523980,3816,-3816,0 +1155,chaos,-520364,-515450,-515650,-515250,4914,4914,0 +1156,chaos,-520364,-524560,-524760,-524360,4196,-4196,0 +1157,chaos,-520364,-516630,-516830,-516430,3734,3734,0 +1158,chaos,-520364,-520230,-520430,-520030,134,134,0.675 +1159,chaos,-520364,-520750,-520950,-520550,386,-386,0.025 +1160,chaos,-520364,-524430,-524630,-524230,4066,-4066,0 +1161,chaos,-520364,-523050,-523250,-522850,2686,-2686,0 +1162,chaos,-520364,-523160,-523360,-522960,2796,-2796,0 +1163,chaos,-520364,-518740,-518940,-518540,1624,1624,0 +1164,chaos,-520364,-522530,-522730,-522330,2166,-2166,0 +1165,chaos,-520364,-515780,-515980,-515580,4584,4584,0 +1166,chaos,-520364,-522150,-522350,-521950,1786,-1786,0 +1167,chaos,-520364,-522810,-523010,-522610,2446,-2446,0 +1168,chaos,-520364,-516920,-517120,-516720,3444,3444,0 +1169,chaos,-520364,-516880,-517080,-516680,3484,3484,0 +1170,chaos,-520364,-524690,-524890,-524490,4326,-4326,0 +1171,chaos,-520364,-524350,-524550,-524150,3986,-3986,0 +1172,chaos,-520364,-524070,-524270,-523870,3706,-3706,0 +1173,chaos,-520364,-521530,-521730,-521330,1166,-1166,0 +1174,chaos,-520364,-519870,-520070,-519670,494,494,0 +1175,chaos,-520364,-523510,-523710,-523310,3146,-3146,0 +1176,chaos,-520364,-523570,-523770,-523370,3206,-3206,0 +1177,chaos,-520364,-517430,-517630,-517230,2934,2934,0 +1178,chaos,-520364,-518420,-518620,-518220,1944,1944,0 +1179,chaos,-520364,-516140,-516340,-515940,4224,4224,0 +1180,chaos,-520364,-516730,-516930,-516530,3634,3634,0 +1181,chaos,-520364,-520990,-521190,-520790,626,-626,0 +1182,chaos,-520364,-519830,-520030,-519630,534,534,0 +1183,chaos,-520364,-524070,-524270,-523870,3706,-3706,0 +1184,chaos,-520364,-515520,-515720,-515320,4844,4844,0 +1185,chaos,-520364,-515980,-516180,-515780,4384,4384,0 +1186,chaos,-520364,-516700,-516900,-516500,3664,3664,0 +1187,chaos,-520364,-516240,-516440,-516040,4124,4124,0 +1188,chaos,-520364,-516930,-517130,-516730,3434,3434,0 +1189,chaos,-520364,-518110,-518310,-517910,2254,2254,0 +1190,chaos,-520364,-523870,-524070,-523670,3506,-3506,0 +1191,chaos,-520364,-523420,-523620,-523220,3056,-3056,0 +1192,chaos,-520364,-523110,-523310,-522910,2746,-2746,0 +1193,chaos,-520364,-520370,-520570,-520170,6,-6,0.975 +1194,chaos,-520364,-525160,-525360,-524960,4796,-4796,0 +1195,chaos,-520364,-518280,-518480,-518080,2084,2084,0 +1196,chaos,-520364,-522600,-522800,-522400,2236,-2236,0 +1197,chaos,-520364,-517540,-517740,-517340,2824,2824,0 +1198,chaos,-520364,-523500,-523700,-523300,3136,-3136,0 +1199,chaos,-520364,-520470,-520670,-520270,106,-106,0.725 +1200,chaos,-520364,-524580,-524780,-524380,4216,-4216,0 +1201,chaos,-520364,-517660,-517860,-517460,2704,2704,0 +1202,chaos,-520364,-523650,-523850,-523450,3286,-3286,0 +1203,chaos,-520364,-525050,-525250,-524850,4686,-4686,0 +1204,chaos,-520364,-521570,-521770,-521370,1206,-1206,0 +1205,chaos,-520364,-520320,-520520,-520120,44,44,0.9 +1206,chaos,-520364,-517200,-517400,-517000,3164,3164,0 +1207,chaos,-520364,-516330,-516530,-516130,4034,4034,0 +1208,chaos,-520364,-523260,-523460,-523060,2896,-2896,0 +1209,chaos,-520364,-524670,-524870,-524470,4306,-4306,0 +1210,chaos,-520364,-521770,-521970,-521570,1406,-1406,0 +1211,chaos,-520364,-516130,-516330,-515930,4234,4234,0 +1212,chaos,-520364,-515410,-515610,-515210,4954,4954,0 +1213,chaos,-520364,-516300,-516500,-516100,4064,4064,0 +1214,chaos,-520364,-518250,-518450,-518050,2114,2114,0 +1215,chaos,-520364,-521880,-522080,-521680,1516,-1516,0 +1216,chaos,-520364,-523940,-524140,-523740,3576,-3576,0 +1217,chaos,-520364,-521360,-521560,-521160,996,-996,0 +1218,chaos,-520364,-517840,-518040,-517640,2524,2524,0 +1219,chaos,-520364,-519490,-519690,-519290,874,874,0 +1220,chaos,-520364,-517890,-518090,-517690,2474,2474,0 +1221,chaos,-520364,-517800,-518000,-517600,2564,2564,0 +1222,chaos,-520364,-516110,-516310,-515910,4254,4254,0 +1223,chaos,-520364,-515810,-516010,-515610,4554,4554,0 +1224,chaos,-520364,-523470,-523670,-523270,3106,-3106,0 +1225,chaos,-520364,-518140,-518340,-517940,2224,2224,0 +1226,chaos,-520364,-517440,-517640,-517240,2924,2924,0 +1227,chaos,-520364,-522810,-523010,-522610,2446,-2446,0 +1228,chaos,-520364,-519070,-519270,-518870,1294,1294,0 +1229,chaos,-520364,-522700,-522900,-522500,2336,-2336,0 +1230,chaos,-520364,-517230,-517430,-517030,3134,3134,0 +1231,chaos,-520364,-518920,-519120,-518720,1444,1444,0 +1232,chaos,-520364,-517160,-517360,-516960,3204,3204,0 +1233,chaos,-520364,-518910,-519110,-518710,1454,1454,0 +1234,chaos,-520364,-516930,-517130,-516730,3434,3434,0 +1235,chaos,-520364,-525040,-525240,-524840,4676,-4676,0 +1236,chaos,-520364,-518800,-519000,-518600,1564,1564,0 +1237,chaos,-520364,-516420,-516620,-516220,3944,3944,0 +1238,chaos,-520364,-523810,-524010,-523610,3446,-3446,0 +1239,chaos,-520364,-517630,-517830,-517430,2734,2734,0 +1240,chaos,-520364,-517570,-517770,-517370,2794,2794,0 +1241,chaos,-520364,-518250,-518450,-518050,2114,2114,0 +1242,chaos,-520364,-516220,-516420,-516020,4144,4144,0 +1243,chaos,-520364,-524250,-524450,-524050,3886,-3886,0 +1244,chaos,-520364,-516610,-516810,-516410,3754,3754,0 +1245,chaos,-520364,-523820,-524020,-523620,3456,-3456,0 +1246,chaos,-520364,-519660,-519860,-519460,704,704,0 +1247,chaos,-520364,-521940,-522140,-521740,1576,-1576,0 +1248,chaos,-520364,-524700,-524900,-524500,4336,-4336,0 +1249,chaos,-520364,-523370,-523570,-523170,3006,-3006,0 +1250,chaos,-520364,-517980,-518180,-517780,2384,2384,0 +1251,chaos,-520364,-522660,-522860,-522460,2296,-2296,0 +1252,chaos,-520364,-515500,-515700,-515300,4864,4864,0 +1253,chaos,-520364,-523410,-523610,-523210,3046,-3046,0 +1254,chaos,-520364,-521970,-522170,-521770,1606,-1606,0 +1255,chaos,-520364,-523600,-523800,-523400,3236,-3236,0 +1256,chaos,-520364,-520090,-520290,-519890,274,274,0.325 +1257,chaos,-520364,-518600,-518800,-518400,1764,1764,0 +1258,chaos,-520364,-522610,-522810,-522410,2246,-2246,0 +1259,chaos,-520364,-516740,-516940,-516540,3624,3624,0 +1260,chaos,-520364,-520420,-520620,-520220,56,-56,0.85 +1261,chaos,-520364,-520680,-520880,-520480,316,-316,0.2 +1262,chaos,-520364,-516610,-516810,-516410,3754,3754,0 +1263,chaos,-520364,-522030,-522230,-521830,1666,-1666,0 +1264,chaos,-520364,-524300,-524500,-524100,3936,-3936,0 +1265,chaos,-520364,-523610,-523810,-523410,3246,-3246,0 +1266,chaos,-520364,-517040,-517240,-516840,3324,3324,0 +1267,chaos,-520364,-517590,-517790,-517390,2774,2774,0 +1268,chaos,-520364,-516940,-517140,-516740,3424,3424,0 +1269,chaos,-520364,-518560,-518760,-518360,1804,1804,0 +1270,chaos,-520364,-516320,-516520,-516120,4044,4044,0 +1271,chaos,-520364,-516080,-516280,-515880,4284,4284,0 +1272,chaos,-520364,-517770,-517970,-517570,2594,2594,0 +1273,chaos,-520364,-520900,-521100,-520700,536,-536,0 +1274,chaos,-520364,-524300,-524500,-524100,3936,-3936,0 +1275,chaos,-520364,-520990,-521190,-520790,626,-626,0 +1276,chaos,-520364,-522060,-522260,-521860,1696,-1696,0 +1277,chaos,-520364,-524970,-525170,-524770,4606,-4606,0 +1278,chaos,-520364,-517550,-517750,-517350,2814,2814,0 +1279,chaos,-520364,-517550,-517750,-517350,2814,2814,0 +1280,chaos,-520364,-516050,-516250,-515850,4314,4314,0 +1281,chaos,-520364,-522810,-523010,-522610,2446,-2446,0 +1282,chaos,-520364,-523250,-523450,-523050,2886,-2886,0 +1283,chaos,-520364,-516430,-516630,-516230,3934,3934,0 +1284,chaos,-520364,-520960,-521160,-520760,596,-596,0 +1285,chaos,-520364,-518950,-519150,-518750,1414,1414,0 +1286,chaos,-520364,-515680,-515880,-515480,4684,4684,0 +1287,chaos,-520364,-522800,-523000,-522600,2436,-2436,0 +1288,chaos,-520364,-523340,-523540,-523140,2976,-2976,0 +1289,chaos,-520364,-523810,-524010,-523610,3446,-3446,0 +1290,chaos,-520364,-516640,-516840,-516440,3724,3724,0 +1291,chaos,-520364,-516540,-516740,-516340,3824,3824,0 +1292,chaos,-520364,-522870,-523070,-522670,2506,-2506,0 +1293,chaos,-520364,-519740,-519940,-519540,624,624,0 +1294,chaos,-520364,-516730,-516930,-516530,3634,3634,0 +1295,chaos,-520364,-524230,-524430,-524030,3866,-3866,0 +1296,chaos,-520364,-523700,-523900,-523500,3336,-3336,0 +1297,chaos,-520364,-519460,-519660,-519260,904,904,0 +1298,chaos,-520364,-517260,-517460,-517060,3104,3104,0 +1299,chaos,-520364,-517950,-518150,-517750,2414,2414,0 +1300,chaos,-520364,-523980,-524180,-523780,3616,-3616,0 +1301,chaos,-520364,-522090,-522290,-521890,1726,-1726,0 +1302,chaos,-520364,-523170,-523370,-522970,2806,-2806,0 +1303,chaos,-520364,-520520,-520720,-520320,156,-156,0.6 +1304,chaos,-520364,-516110,-516310,-515910,4254,4254,0 +1305,chaos,-520364,-519140,-519340,-518940,1224,1224,0 +1306,chaos,-520364,-518740,-518940,-518540,1624,1624,0 +1307,chaos,-520364,-516970,-517170,-516770,3394,3394,0 +1308,chaos,-520364,-519380,-519580,-519180,984,984,0 +1309,chaos,-520364,-521650,-521850,-521450,1286,-1286,0 +1310,chaos,-520364,-521780,-521980,-521580,1416,-1416,0 +1311,chaos,-520364,-518350,-518550,-518150,2014,2014,0 +1312,chaos,-520364,-516830,-517030,-516630,3534,3534,0 +1313,chaos,-520364,-519660,-519860,-519460,704,704,0 +1314,chaos,-520364,-522820,-523020,-522620,2456,-2456,0 +1315,chaos,-520364,-517580,-517780,-517380,2784,2784,0 +1316,chaos,-520364,-519500,-519700,-519300,864,864,0 +1317,chaos,-520364,-519850,-520050,-519650,514,514,0 +1318,chaos,-520364,-523190,-523390,-522990,2826,-2826,0 +1319,chaos,-520364,-521790,-521990,-521590,1426,-1426,0 +1320,chaos,-520364,-517320,-517520,-517120,3044,3044,0 +1321,chaos,-520364,-521810,-522010,-521610,1446,-1446,0 +1322,chaos,-520364,-516320,-516520,-516120,4044,4044,0 +1323,chaos,-520364,-521370,-521570,-521170,1006,-1006,0 +1324,chaos,-520364,-521670,-521870,-521470,1306,-1306,0 +1325,chaos,-520364,-518870,-519070,-518670,1494,1494,0 +1326,chaos,-520364,-517720,-517920,-517520,2644,2644,0 +1327,chaos,-520364,-518610,-518810,-518410,1754,1754,0 +1328,chaos,-520364,-518880,-519080,-518680,1484,1484,0 +1329,chaos,-520364,-525020,-525220,-524820,4656,-4656,0 +1330,chaos,-520364,-519690,-519890,-519490,674,674,0 +1331,chaos,-520364,-516050,-516250,-515850,4314,4314,0 +1332,chaos,-520364,-520030,-520230,-519830,334,334,0.175 +1333,chaos,-520364,-522800,-523000,-522600,2436,-2436,0 +1334,chaos,-520364,-520220,-520420,-520020,144,144,0.65 +1335,chaos,-520364,-519960,-520160,-519760,404,404,0 +1336,chaos,-520364,-517110,-517310,-516910,3254,3254,0 +1337,chaos,-520364,-524580,-524780,-524380,4216,-4216,0 +1338,chaos,-520364,-518090,-518290,-517890,2274,2274,0 +1339,chaos,-520364,-517370,-517570,-517170,2994,2994,0 +1340,chaos,-520364,-518940,-519140,-518740,1424,1424,0 +1341,chaos,-520364,-515850,-516050,-515650,4514,4514,0 +1342,chaos,-520364,-520040,-520240,-519840,324,324,0.2 +1343,chaos,-520364,-517490,-517690,-517290,2874,2874,0 +1344,chaos,-520364,-518900,-519100,-518700,1464,1464,0 +1345,chaos,-520364,-519440,-519640,-519240,924,924,0 +1346,chaos,-520364,-516240,-516440,-516040,4124,4124,0 +1347,chaos,-520364,-519520,-519720,-519320,844,844,0 +1348,chaos,-520364,-525170,-525370,-524970,4806,-4806,0 +1349,chaos,-520364,-517590,-517790,-517390,2774,2774,0 +1350,chaos,-520364,-515440,-515640,-515240,4924,4924,0 +1351,chaos,-520364,-515660,-515860,-515460,4704,4704,0 +1352,chaos,-520364,-520190,-520390,-519990,174,174,0.575 +1353,chaos,-520364,-521580,-521780,-521380,1216,-1216,0 +1354,chaos,-520364,-517120,-517320,-516920,3244,3244,0 +1355,chaos,-520364,-517550,-517750,-517350,2814,2814,0 +1356,chaos,-520364,-520270,-520470,-520070,94,94,0.775 +1357,chaos,-520364,-522980,-523180,-522780,2616,-2616,0 +1358,chaos,-520364,-522820,-523020,-522620,2456,-2456,0 +1359,chaos,-520364,-520090,-520290,-519890,274,274,0.325 +1360,chaos,-520364,-522650,-522850,-522450,2286,-2286,0 +1361,chaos,-520364,-523350,-523550,-523150,2986,-2986,0 +1362,chaos,-520364,-525350,-525550,-525150,4986,-4986,0 +1363,chaos,-520364,-524500,-524700,-524300,4136,-4136,0 +1364,chaos,-520364,-520890,-521090,-520690,526,-526,0 +1365,chaos,-520364,-525030,-525230,-524830,4666,-4666,0 +1366,chaos,-520364,-515920,-516120,-515720,4444,4444,0 +1367,chaos,-520364,-522790,-522990,-522590,2426,-2426,0 +1368,chaos,-520364,-522850,-523050,-522650,2486,-2486,0 +1369,chaos,-520364,-520950,-521150,-520750,586,-586,0 +1370,chaos,-520364,-515820,-516020,-515620,4544,4544,0 +1371,chaos,-520364,-521740,-521940,-521540,1376,-1376,0 +1372,chaos,-520364,-525110,-525310,-524910,4746,-4746,0 +1373,chaos,-520364,-516290,-516490,-516090,4074,4074,0 +1374,chaos,-520364,-519470,-519670,-519270,894,894,0 +1375,chaos,-520364,-522300,-522500,-522100,1936,-1936,0 +1376,chaos,-520364,-517080,-517280,-516880,3284,3284,0 +1377,chaos,-520364,-516070,-516270,-515870,4294,4294,0 +1378,chaos,-520364,-519570,-519770,-519370,794,794,0 +1379,chaos,-520364,-516860,-517060,-516660,3504,3504,0 +1380,chaos,-520364,-523760,-523960,-523560,3396,-3396,0 +1381,chaos,-520364,-516470,-516670,-516270,3894,3894,0 +1382,chaos,-520364,-524120,-524320,-523920,3756,-3756,0 +1383,chaos,-520364,-516290,-516490,-516090,4074,4074,0 +1384,chaos,-520364,-519660,-519860,-519460,704,704,0 +1385,chaos,-520364,-520520,-520720,-520320,156,-156,0.6 +1386,chaos,-520364,-520370,-520570,-520170,6,-6,0.975 +1387,chaos,-520364,-522640,-522840,-522440,2276,-2276,0 +1388,chaos,-520364,-524980,-525180,-524780,4616,-4616,0 +1389,chaos,-520364,-518210,-518410,-518010,2154,2154,0 +1390,chaos,-520364,-515680,-515880,-515480,4684,4684,0 +1391,chaos,-520364,-524850,-525050,-524650,4486,-4486,0 +1392,chaos,-520364,-517980,-518180,-517780,2384,2384,0 +1393,chaos,-520364,-520810,-521010,-520610,446,-446,0 +1394,chaos,-520364,-523100,-523300,-522900,2736,-2736,0 +1395,chaos,-520364,-524610,-524810,-524410,4246,-4246,0 +1396,chaos,-520364,-521230,-521430,-521030,866,-866,0 +1397,chaos,-520364,-523620,-523820,-523420,3256,-3256,0 +1398,chaos,-520364,-525140,-525340,-524940,4776,-4776,0 +1399,chaos,-520364,-517430,-517630,-517230,2934,2934,0 +1400,chaos,-520364,-518840,-519040,-518640,1524,1524,0 +1401,chaos,-520364,-516270,-516470,-516070,4094,4094,0 +1402,chaos,-520364,-523920,-524120,-523720,3556,-3556,0 +1403,chaos,-520364,-520740,-520940,-520540,376,-376,0.05 +1404,chaos,-520364,-520460,-520660,-520260,96,-96,0.75 +1405,chaos,-520364,-521000,-521200,-520800,636,-636,0 +1406,chaos,-520364,-524880,-525080,-524680,4516,-4516,0 +1407,chaos,-520364,-520370,-520570,-520170,6,-6,0.975 +1408,chaos,-520364,-522670,-522870,-522470,2306,-2306,0 +1409,chaos,-520364,-521140,-521340,-520940,776,-776,0 +1410,chaos,-520364,-521510,-521710,-521310,1146,-1146,0 +1411,chaos,-520364,-520170,-520370,-519970,194,194,0.525 +1412,chaos,-520364,-522040,-522240,-521840,1676,-1676,0 +1413,chaos,-520364,-516170,-516370,-515970,4194,4194,0 +1414,chaos,-520364,-517740,-517940,-517540,2624,2624,0 +1415,chaos,-520364,-518810,-519010,-518610,1554,1554,0 +1416,chaos,-520364,-523030,-523230,-522830,2666,-2666,0 +1417,chaos,-520364,-517000,-517200,-516800,3364,3364,0 +1418,chaos,-520364,-517640,-517840,-517440,2724,2724,0 +1419,chaos,-520364,-522650,-522850,-522450,2286,-2286,0 +1420,chaos,-520364,-523890,-524090,-523690,3526,-3526,0 +1421,chaos,-520364,-521110,-521310,-520910,746,-746,0 +1422,chaos,-520364,-519750,-519950,-519550,614,614,0 +1423,chaos,-520364,-517330,-517530,-517130,3034,3034,0 +1424,chaos,-520364,-518680,-518880,-518480,1684,1684,0 +1425,chaos,-520364,-516480,-516680,-516280,3884,3884,0 +1426,chaos,-520364,-520040,-520240,-519840,324,324,0.2 +1427,chaos,-520364,-522740,-522940,-522540,2376,-2376,0 +1428,chaos,-520364,-518620,-518820,-518420,1744,1744,0 +1429,chaos,-520364,-524190,-524390,-523990,3826,-3826,0 +1430,chaos,-520364,-518450,-518650,-518250,1914,1914,0 +1431,chaos,-520364,-523910,-524110,-523710,3546,-3546,0 +1432,chaos,-520364,-515560,-515760,-515360,4804,4804,0 +1433,chaos,-520364,-521200,-521400,-521000,836,-836,0 +1434,chaos,-520364,-517960,-518160,-517760,2404,2404,0 +1435,chaos,-520364,-518860,-519060,-518660,1504,1504,0 +1436,chaos,-520364,-517830,-518030,-517630,2534,2534,0 +1437,chaos,-520364,-524450,-524650,-524250,4086,-4086,0 +1438,chaos,-520364,-522950,-523150,-522750,2586,-2586,0 +1439,chaos,-520364,-516860,-517060,-516660,3504,3504,0 +1440,chaos,-520364,-516410,-516610,-516210,3954,3954,0 +1441,chaos,-520364,-523320,-523520,-523120,2956,-2956,0 +1442,chaos,-520364,-521270,-521470,-521070,906,-906,0 +1443,chaos,-520364,-515410,-515610,-515210,4954,4954,0 +1444,chaos,-520364,-521760,-521960,-521560,1396,-1396,0 +1445,chaos,-520364,-516760,-516960,-516560,3604,3604,0 +1446,chaos,-520364,-524330,-524530,-524130,3966,-3966,0 +1447,chaos,-520364,-522590,-522790,-522390,2226,-2226,0 +1448,chaos,-520364,-525210,-525410,-525010,4846,-4846,0 +1449,chaos,-520364,-520950,-521150,-520750,586,-586,0 +1450,chaos,-520364,-520270,-520470,-520070,94,94,0.775 +1451,chaos,-520364,-519340,-519540,-519140,1024,1024,0 +1452,chaos,-520364,-523260,-523460,-523060,2896,-2896,0 +1453,chaos,-520364,-517940,-518140,-517740,2424,2424,0 +1454,chaos,-520364,-525260,-525460,-525060,4896,-4896,0 +1455,chaos,-520364,-522200,-522400,-522000,1836,-1836,0 +1456,chaos,-520364,-519840,-520040,-519640,524,524,0 +1457,chaos,-520364,-521100,-521300,-520900,736,-736,0 +1458,chaos,-520364,-524090,-524290,-523890,3726,-3726,0 +1459,chaos,-520364,-519420,-519620,-519220,944,944,0 +1460,chaos,-520364,-524450,-524650,-524250,4086,-4086,0 +1461,chaos,-520364,-516330,-516530,-516130,4034,4034,0 +1462,chaos,-520364,-515660,-515860,-515460,4704,4704,0 +1463,chaos,-520364,-518530,-518730,-518330,1834,1834,0 +1464,chaos,-520364,-519730,-519930,-519530,634,634,0 +1465,chaos,-520364,-524320,-524520,-524120,3956,-3956,0 +1466,chaos,-520364,-523330,-523530,-523130,2966,-2966,0 +1467,chaos,-520364,-524850,-525050,-524650,4486,-4486,0 +1468,chaos,-520364,-516720,-516920,-516520,3644,3644,0 +1469,chaos,-520364,-518160,-518360,-517960,2204,2204,0 +1470,chaos,-520364,-519720,-519920,-519520,644,644,0 +1471,chaos,-520364,-519510,-519710,-519310,854,854,0 +1472,chaos,-520364,-520660,-520860,-520460,296,-296,0.25 +1473,chaos,-520364,-523180,-523380,-522980,2816,-2816,0 +1474,chaos,-520364,-520320,-520520,-520120,44,44,0.9 +1475,chaos,-520364,-524210,-524410,-524010,3846,-3846,0 +1476,chaos,-520364,-515370,-515570,-515170,4994,4994,0 +1477,chaos,-520364,-524260,-524460,-524060,3896,-3896,0 +1478,chaos,-520364,-522480,-522680,-522280,2116,-2116,0 +1479,chaos,-520364,-519200,-519400,-519000,1164,1164,0 +1480,chaos,-520364,-520180,-520380,-519980,184,184,0.55 +1481,chaos,-520364,-515680,-515880,-515480,4684,4684,0 +1482,chaos,-520364,-517670,-517870,-517470,2694,2694,0 +1483,chaos,-520364,-516910,-517110,-516710,3454,3454,0 +1484,chaos,-520364,-515380,-515580,-515180,4984,4984,0 +1485,chaos,-520364,-525140,-525340,-524940,4776,-4776,0 +1486,chaos,-520364,-522150,-522350,-521950,1786,-1786,0 +1487,chaos,-520364,-516400,-516600,-516200,3964,3964,0 +1488,chaos,-520364,-518750,-518950,-518550,1614,1614,0 +1489,chaos,-520364,-522820,-523020,-522620,2456,-2456,0 +1490,chaos,-520364,-521800,-522000,-521600,1436,-1436,0 +1491,chaos,-520364,-518630,-518830,-518430,1734,1734,0 +1492,chaos,-520364,-516460,-516660,-516260,3904,3904,0 +1493,chaos,-520364,-521340,-521540,-521140,976,-976,0 +1494,chaos,-520364,-516410,-516610,-516210,3954,3954,0 +1495,chaos,-520364,-523360,-523560,-523160,2996,-2996,0 +1496,chaos,-520364,-519160,-519360,-518960,1204,1204,0 +1497,chaos,-520364,-524200,-524400,-524000,3836,-3836,0 +1498,chaos,-520364,-524550,-524750,-524350,4186,-4186,0 +1499,chaos,-520364,-525330,-525530,-525130,4966,-4966,0 +1500,chaos,-520364,-520930,-521130,-520730,566,-566,0 +1501,chaos,-520364,-519300,-519500,-519100,1064,1064,0 +1502,chaos,-520364,-522650,-522850,-522450,2286,-2286,0 +1503,chaos,-520364,-524470,-524670,-524270,4106,-4106,0 +1504,chaos,-520364,-521500,-521700,-521300,1136,-1136,0 +1505,chaos,-520364,-524120,-524320,-523920,3756,-3756,0 +1506,chaos,-520364,-517340,-517540,-517140,3024,3024,0 +1507,chaos,-520364,-522330,-522530,-522130,1966,-1966,0 +1508,chaos,-520364,-519560,-519760,-519360,804,804,0 +1509,chaos,-520364,-520410,-520610,-520210,46,-46,0.875 +1510,chaos,-520364,-518480,-518680,-518280,1884,1884,0 +1511,chaos,-520364,-522090,-522290,-521890,1726,-1726,0 +1512,chaos,-520364,-519670,-519870,-519470,694,694,0 +1513,chaos,-520364,-522430,-522630,-522230,2066,-2066,0 +1514,chaos,-520364,-519350,-519550,-519150,1014,1014,0 +1515,chaos,-520364,-523240,-523440,-523040,2876,-2876,0 +1516,chaos,-520364,-517800,-518000,-517600,2564,2564,0 +1517,chaos,-520364,-521560,-521760,-521360,1196,-1196,0 +1518,chaos,-520364,-518540,-518740,-518340,1824,1824,0 +1519,chaos,-520364,-521020,-521220,-520820,656,-656,0 +1520,chaos,-520364,-517160,-517360,-516960,3204,3204,0 +1521,chaos,-520364,-517560,-517760,-517360,2804,2804,0 +1522,chaos,-520364,-516510,-516710,-516310,3854,3854,0 +1523,chaos,-520364,-522270,-522470,-522070,1906,-1906,0 +1524,chaos,-520364,-519210,-519410,-519010,1154,1154,0 +1525,chaos,-520364,-522120,-522320,-521920,1756,-1756,0 +1526,chaos,-520364,-520900,-521100,-520700,536,-536,0 +1527,chaos,-520364,-523060,-523260,-522860,2696,-2696,0 +1528,chaos,-520364,-517390,-517590,-517190,2974,2974,0 +1529,chaos,-520364,-515550,-515750,-515350,4814,4814,0 +1530,chaos,-520364,-519320,-519520,-519120,1044,1044,0 +1531,chaos,-520364,-517640,-517840,-517440,2724,2724,0 +1532,chaos,-520364,-518950,-519150,-518750,1414,1414,0 +1533,chaos,-520364,-523200,-523400,-523000,2836,-2836,0 +1534,chaos,-520364,-524710,-524910,-524510,4346,-4346,0 +1535,chaos,-520364,-524140,-524340,-523940,3776,-3776,0 +1536,chaos,-520364,-523670,-523870,-523470,3306,-3306,0 +1537,chaos,-520364,-523560,-523760,-523360,3196,-3196,0 +1538,chaos,-520364,-517620,-517820,-517420,2744,2744,0 +1539,chaos,-520364,-515430,-515630,-515230,4934,4934,0 +1540,chaos,-520364,-521630,-521830,-521430,1266,-1266,0 +1541,chaos,-520364,-523670,-523870,-523470,3306,-3306,0 +1542,chaos,-520364,-523130,-523330,-522930,2766,-2766,0 +1543,chaos,-520364,-521160,-521360,-520960,796,-796,0 +1544,chaos,-520364,-515450,-515650,-515250,4914,4914,0 +1545,chaos,-520364,-515480,-515680,-515280,4884,4884,0 +1546,chaos,-520364,-521680,-521880,-521480,1316,-1316,0 +1547,chaos,-520364,-520980,-521180,-520780,616,-616,0 +1548,chaos,-520364,-523810,-524010,-523610,3446,-3446,0 +1549,chaos,-520364,-519640,-519840,-519440,724,724,0 +1550,chaos,-520364,-516700,-516900,-516500,3664,3664,0 +1551,chaos,-520364,-521280,-521480,-521080,916,-916,0 +1552,chaos,-520364,-524940,-525140,-524740,4576,-4576,0 +1553,chaos,-520364,-519950,-520150,-519750,414,414,0 +1554,chaos,-520364,-517760,-517960,-517560,2604,2604,0 +1555,chaos,-520364,-515860,-516060,-515660,4504,4504,0 +1556,chaos,-520364,-519830,-520030,-519630,534,534,0 +1557,chaos,-520364,-523640,-523840,-523440,3276,-3276,0 +1558,chaos,-520364,-525190,-525390,-524990,4826,-4826,0 +1559,chaos,-520364,-516190,-516390,-515990,4174,4174,0 +1560,chaos,-520364,-519830,-520030,-519630,534,534,0 +1561,chaos,-520364,-521270,-521470,-521070,906,-906,0 +1562,chaos,-520364,-520850,-521050,-520650,486,-486,0 +1563,chaos,-520364,-515390,-515590,-515190,4974,4974,0 +1564,chaos,-520364,-524270,-524470,-524070,3906,-3906,0 +1565,chaos,-520364,-516540,-516740,-516340,3824,3824,0 +1566,chaos,-520364,-524580,-524780,-524380,4216,-4216,0 +1567,chaos,-520364,-515400,-515600,-515200,4964,4964,0 +1568,chaos,-520364,-519030,-519230,-518830,1334,1334,0 +1569,chaos,-520364,-520270,-520470,-520070,94,94,0.775 +1570,chaos,-520364,-517280,-517480,-517080,3084,3084,0 +1571,chaos,-520364,-518670,-518870,-518470,1694,1694,0 +1572,chaos,-520364,-518770,-518970,-518570,1594,1594,0 +1573,chaos,-520364,-525050,-525250,-524850,4686,-4686,0 +1574,chaos,-520364,-522440,-522640,-522240,2076,-2076,0 +1575,chaos,-520364,-517780,-517980,-517580,2584,2584,0 +1576,chaos,-520364,-520810,-521010,-520610,446,-446,0 +1577,chaos,-520364,-523810,-524010,-523610,3446,-3446,0 +1578,chaos,-520364,-523880,-524080,-523680,3516,-3516,0 +1579,chaos,-520364,-522440,-522640,-522240,2076,-2076,0 +1580,chaos,-520364,-522930,-523130,-522730,2566,-2566,0 +1581,chaos,-520364,-517610,-517810,-517410,2754,2754,0 +1582,chaos,-520364,-522290,-522490,-522090,1926,-1926,0 +1583,chaos,-520364,-523580,-523780,-523380,3216,-3216,0 +1584,chaos,-520364,-517770,-517970,-517570,2594,2594,0 +1585,chaos,-520364,-518420,-518620,-518220,1944,1944,0 +1586,chaos,-520364,-522630,-522830,-522430,2266,-2266,0 +1587,chaos,-520364,-521500,-521700,-521300,1136,-1136,0 +1588,chaos,-520364,-519320,-519520,-519120,1044,1044,0 +1589,chaos,-520364,-517810,-518010,-517610,2554,2554,0 +1590,chaos,-520364,-525120,-525320,-524920,4756,-4756,0 +1591,chaos,-520364,-519660,-519860,-519460,704,704,0 +1592,chaos,-520364,-515730,-515930,-515530,4634,4634,0 +1593,chaos,-520364,-523560,-523760,-523360,3196,-3196,0 +1594,chaos,-520364,-523280,-523480,-523080,2916,-2916,0 +1595,chaos,-520364,-517350,-517550,-517150,3014,3014,0 +1596,chaos,-520364,-521210,-521410,-521010,846,-846,0 +1597,chaos,-520364,-518170,-518370,-517970,2194,2194,0 +1598,chaos,-520364,-520090,-520290,-519890,274,274,0.325 +1599,chaos,-520364,-524950,-525150,-524750,4586,-4586,0 +1600,chaos,-520364,-516720,-516920,-516520,3644,3644,0 +1601,chaos,-520364,-522380,-522580,-522180,2016,-2016,0 +1602,chaos,-520364,-519990,-520190,-519790,374,374,0.075 +1603,chaos,-520364,-518150,-518350,-517950,2214,2214,0 +1604,chaos,-520364,-524750,-524950,-524550,4386,-4386,0 +1605,chaos,-520364,-524580,-524780,-524380,4216,-4216,0 +1606,chaos,-520364,-516570,-516770,-516370,3794,3794,0 +1607,chaos,-520364,-516560,-516760,-516360,3804,3804,0 +1608,chaos,-520364,-520890,-521090,-520690,526,-526,0 +1609,chaos,-520364,-524930,-525130,-524730,4566,-4566,0 +1610,chaos,-520364,-520250,-520450,-520050,114,114,0.725 +1611,chaos,-520364,-519610,-519810,-519410,754,754,0 +1612,chaos,-520364,-517950,-518150,-517750,2414,2414,0 +1613,chaos,-520364,-520740,-520940,-520540,376,-376,0.05 +1614,chaos,-520364,-521600,-521800,-521400,1236,-1236,0 +1615,chaos,-520364,-524410,-524610,-524210,4046,-4046,0 +1616,chaos,-520364,-523770,-523970,-523570,3406,-3406,0 +1617,chaos,-520364,-515740,-515940,-515540,4624,4624,0 +1618,chaos,-520364,-518050,-518250,-517850,2314,2314,0 +1619,chaos,-520364,-516520,-516720,-516320,3844,3844,0 +1620,chaos,-520364,-516290,-516490,-516090,4074,4074,0 +1621,chaos,-520364,-516170,-516370,-515970,4194,4194,0 +1622,chaos,-520364,-522880,-523080,-522680,2516,-2516,0 +1623,chaos,-520364,-517010,-517210,-516810,3354,3354,0 +1624,chaos,-520364,-519400,-519600,-519200,964,964,0 +1625,chaos,-520364,-518160,-518360,-517960,2204,2204,0 +1626,chaos,-520364,-524390,-524590,-524190,4026,-4026,0 +1627,chaos,-520364,-524350,-524550,-524150,3986,-3986,0 +1628,chaos,-520364,-516490,-516690,-516290,3874,3874,0 +1629,chaos,-520364,-520850,-521050,-520650,486,-486,0 +1630,chaos,-520364,-522130,-522330,-521930,1766,-1766,0 +1631,chaos,-520364,-519610,-519810,-519410,754,754,0 +1632,chaos,-520364,-519530,-519730,-519330,834,834,0 +1633,chaos,-520364,-518730,-518930,-518530,1634,1634,0 +1634,chaos,-520364,-520800,-521000,-520600,436,-436,0 +1635,chaos,-520364,-525290,-525490,-525090,4926,-4926,0 +1636,chaos,-520364,-522710,-522910,-522510,2346,-2346,0 +1637,chaos,-520364,-516470,-516670,-516270,3894,3894,0 +1638,chaos,-520364,-518100,-518300,-517900,2264,2264,0 +1639,chaos,-520364,-516640,-516840,-516440,3724,3724,0 +1640,chaos,-520364,-524320,-524520,-524120,3956,-3956,0 +1641,chaos,-520364,-522870,-523070,-522670,2506,-2506,0 +1642,chaos,-520364,-521370,-521570,-521170,1006,-1006,0 +1643,chaos,-520364,-515420,-515620,-515220,4944,4944,0 +1644,chaos,-520364,-516580,-516780,-516380,3784,3784,0 +1645,chaos,-520364,-524570,-524770,-524370,4206,-4206,0 +1646,chaos,-520364,-524420,-524620,-524220,4056,-4056,0 +1647,chaos,-520364,-521690,-521890,-521490,1326,-1326,0 +1648,chaos,-520364,-521830,-522030,-521630,1466,-1466,0 +1649,chaos,-520364,-519220,-519420,-519020,1144,1144,0 +1650,chaos,-520364,-522090,-522290,-521890,1726,-1726,0 +1651,chaos,-520364,-517090,-517290,-516890,3274,3274,0 +1652,chaos,-520364,-524910,-525110,-524710,4546,-4546,0 +1653,chaos,-520364,-525170,-525370,-524970,4806,-4806,0 +1654,chaos,-520364,-517140,-517340,-516940,3224,3224,0 +1655,chaos,-520364,-519170,-519370,-518970,1194,1194,0 +1656,chaos,-520364,-516800,-517000,-516600,3564,3564,0 +1657,chaos,-520364,-521540,-521740,-521340,1176,-1176,0 +1658,chaos,-520364,-520150,-520350,-519950,214,214,0.475 +1659,chaos,-520364,-522420,-522620,-522220,2056,-2056,0 +1660,chaos,-520364,-517280,-517480,-517080,3084,3084,0 +1661,chaos,-520364,-524900,-525100,-524700,4536,-4536,0 +1662,chaos,-520364,-524160,-524360,-523960,3796,-3796,0 +1663,chaos,-520364,-523340,-523540,-523140,2976,-2976,0 +1664,chaos,-520364,-520100,-520300,-519900,264,264,0.35 +1665,chaos,-520364,-519650,-519850,-519450,714,714,0 +1666,chaos,-520364,-524690,-524890,-524490,4326,-4326,0 +1667,chaos,-520364,-517430,-517630,-517230,2934,2934,0 +1668,chaos,-520364,-519950,-520150,-519750,414,414,0 +1669,chaos,-520364,-516800,-517000,-516600,3564,3564,0 +1670,chaos,-520364,-518360,-518560,-518160,2004,2004,0 +1671,chaos,-520364,-519630,-519830,-519430,734,734,0 +1672,chaos,-520364,-518470,-518670,-518270,1894,1894,0 +1673,chaos,-520364,-520780,-520980,-520580,416,-416,0 +1674,chaos,-520364,-516210,-516410,-516010,4154,4154,0 +1675,chaos,-520364,-517080,-517280,-516880,3284,3284,0 +1676,chaos,-520364,-522520,-522720,-522320,2156,-2156,0 +1677,chaos,-520364,-520400,-520600,-520200,36,-36,0.9 +1678,chaos,-520364,-519980,-520180,-519780,384,384,0.05 +1679,chaos,-520364,-519650,-519850,-519450,714,714,0 +1680,chaos,-520364,-521880,-522080,-521680,1516,-1516,0 +1681,chaos,-520364,-523280,-523480,-523080,2916,-2916,0 +1682,chaos,-520364,-517670,-517870,-517470,2694,2694,0 +1683,chaos,-520364,-521540,-521740,-521340,1176,-1176,0 +1684,chaos,-520364,-523740,-523940,-523540,3376,-3376,0 +1685,chaos,-520364,-522330,-522530,-522130,1966,-1966,0 +1686,chaos,-520364,-518280,-518480,-518080,2084,2084,0 +1687,chaos,-520364,-523360,-523560,-523160,2996,-2996,0 +1688,chaos,-520364,-523700,-523900,-523500,3336,-3336,0 +1689,chaos,-520364,-517990,-518190,-517790,2374,2374,0 +1690,chaos,-520364,-519110,-519310,-518910,1254,1254,0 +1691,chaos,-520364,-522490,-522690,-522290,2126,-2126,0 +1692,chaos,-520364,-523530,-523730,-523330,3166,-3166,0 +1693,chaos,-520364,-518170,-518370,-517970,2194,2194,0 +1694,chaos,-520364,-516000,-516200,-515800,4364,4364,0 +1695,chaos,-520364,-519300,-519500,-519100,1064,1064,0 +1696,chaos,-520364,-516290,-516490,-516090,4074,4074,0 +1697,chaos,-520364,-525010,-525210,-524810,4646,-4646,0 +1698,chaos,-520364,-523110,-523310,-522910,2746,-2746,0 +1699,chaos,-520364,-520450,-520650,-520250,86,-86,0.775 +1700,chaos,-520364,-516570,-516770,-516370,3794,3794,0 +1701,chaos,-520364,-522380,-522580,-522180,2016,-2016,0 +1702,chaos,-520364,-522550,-522750,-522350,2186,-2186,0 +1703,chaos,-520364,-517470,-517670,-517270,2894,2894,0 +1704,chaos,-520364,-519160,-519360,-518960,1204,1204,0 +1705,chaos,-520364,-515800,-516000,-515600,4564,4564,0 +1706,chaos,-520364,-521100,-521300,-520900,736,-736,0 +1707,chaos,-520364,-516360,-516560,-516160,4004,4004,0 +1708,chaos,-520364,-516560,-516760,-516360,3804,3804,0 +1709,chaos,-520364,-518690,-518890,-518490,1674,1674,0 +1710,chaos,-520364,-522200,-522400,-522000,1836,-1836,0 +1711,chaos,-520364,-525270,-525470,-525070,4906,-4906,0 +1712,chaos,-520364,-516840,-517040,-516640,3524,3524,0 +1713,chaos,-520364,-515640,-515840,-515440,4724,4724,0 +1714,chaos,-520364,-517180,-517380,-516980,3184,3184,0 +1715,chaos,-520364,-515720,-515920,-515520,4644,4644,0 +1716,chaos,-520364,-521720,-521920,-521520,1356,-1356,0 +1717,chaos,-520364,-524120,-524320,-523920,3756,-3756,0 +1718,chaos,-520364,-523390,-523590,-523190,3026,-3026,0 +1719,chaos,-520364,-516550,-516750,-516350,3814,3814,0 +1720,chaos,-520364,-522580,-522780,-522380,2216,-2216,0 +1721,chaos,-520364,-516820,-517020,-516620,3544,3544,0 +1722,chaos,-520364,-520680,-520880,-520480,316,-316,0.2 +1723,chaos,-520364,-519750,-519950,-519550,614,614,0 +1724,chaos,-520364,-523700,-523900,-523500,3336,-3336,0 +1725,chaos,-520364,-522630,-522830,-522430,2266,-2266,0 +1726,chaos,-520364,-523970,-524170,-523770,3606,-3606,0 +1727,chaos,-520364,-522650,-522850,-522450,2286,-2286,0 +1728,chaos,-520364,-518370,-518570,-518170,1994,1994,0 +1729,chaos,-520364,-520780,-520980,-520580,416,-416,0 +1730,chaos,-520364,-522510,-522710,-522310,2146,-2146,0 +1731,chaos,-520364,-524730,-524930,-524530,4366,-4366,0 +1732,chaos,-520364,-522950,-523150,-522750,2586,-2586,0 +1733,chaos,-520364,-524550,-524750,-524350,4186,-4186,0 +1734,chaos,-520364,-518620,-518820,-518420,1744,1744,0 +1735,chaos,-520364,-517160,-517360,-516960,3204,3204,0 +1736,chaos,-520364,-524730,-524930,-524530,4366,-4366,0 +1737,chaos,-520364,-521730,-521930,-521530,1366,-1366,0 +1738,chaos,-520364,-519860,-520060,-519660,504,504,0 +1739,chaos,-520364,-520360,-520560,-520160,4,4,1 +1740,chaos,-520364,-521260,-521460,-521060,896,-896,0 +1741,chaos,-520364,-515880,-516080,-515680,4484,4484,0 +1742,chaos,-520364,-525070,-525270,-524870,4706,-4706,0 +1743,chaos,-520364,-515930,-516130,-515730,4434,4434,0 +1744,chaos,-520364,-524950,-525150,-524750,4586,-4586,0 +1745,chaos,-520364,-524800,-525000,-524600,4436,-4436,0 +1746,chaos,-520364,-524520,-524720,-524320,4156,-4156,0 +1747,chaos,-520364,-521960,-522160,-521760,1596,-1596,0 +1748,chaos,-520364,-520690,-520890,-520490,326,-326,0.175 +1749,chaos,-520364,-523310,-523510,-523110,2946,-2946,0 +1750,chaos,-520364,-518440,-518640,-518240,1924,1924,0 +1751,chaos,-520364,-521920,-522120,-521720,1556,-1556,0 +1752,chaos,-520364,-518880,-519080,-518680,1484,1484,0 +1753,chaos,-520364,-520340,-520540,-520140,24,24,0.95 +1754,chaos,-520364,-518050,-518250,-517850,2314,2314,0 +1755,chaos,-520364,-521920,-522120,-521720,1556,-1556,0 +1756,chaos,-520364,-522450,-522650,-522250,2086,-2086,0 +1757,chaos,-520364,-524520,-524720,-524320,4156,-4156,0 +1758,chaos,-520364,-517220,-517420,-517020,3144,3144,0 +1759,chaos,-520364,-519710,-519910,-519510,654,654,0 +1760,chaos,-520364,-518370,-518570,-518170,1994,1994,0 +1761,chaos,-520364,-523490,-523690,-523290,3126,-3126,0 +1762,chaos,-520364,-516430,-516630,-516230,3934,3934,0 +1763,chaos,-520364,-517610,-517810,-517410,2754,2754,0 +1764,chaos,-520364,-520710,-520910,-520510,346,-346,0.125 +1765,chaos,-520364,-525170,-525370,-524970,4806,-4806,0 +1766,chaos,-520364,-524110,-524310,-523910,3746,-3746,0 +1767,chaos,-520364,-519450,-519650,-519250,914,914,0 +1768,chaos,-520364,-517410,-517610,-517210,2954,2954,0 +1769,chaos,-520364,-519780,-519980,-519580,584,584,0 +1770,chaos,-520364,-520110,-520310,-519910,254,254,0.375 +1771,chaos,-520364,-519280,-519480,-519080,1084,1084,0 +1772,chaos,-520364,-519190,-519390,-518990,1174,1174,0 +1773,chaos,-520364,-515820,-516020,-515620,4544,4544,0 +1774,chaos,-520364,-521350,-521550,-521150,986,-986,0 +1775,chaos,-520364,-520000,-520200,-519800,364,364,0.1 +1776,chaos,-520364,-520110,-520310,-519910,254,254,0.375 +1777,chaos,-520364,-524280,-524480,-524080,3916,-3916,0 +1778,chaos,-520364,-519450,-519650,-519250,914,914,0 +1779,chaos,-520364,-518480,-518680,-518280,1884,1884,0 +1780,chaos,-520364,-522890,-523090,-522690,2526,-2526,0 +1781,chaos,-520364,-522400,-522600,-522200,2036,-2036,0 +1782,chaos,-520364,-520970,-521170,-520770,606,-606,0 +1783,chaos,-520364,-519180,-519380,-518980,1184,1184,0 +1784,chaos,-520364,-522240,-522440,-522040,1876,-1876,0 +1785,chaos,-520364,-522980,-523180,-522780,2616,-2616,0 +1786,chaos,-520364,-518360,-518560,-518160,2004,2004,0 +1787,chaos,-520364,-519950,-520150,-519750,414,414,0 +1788,chaos,-520364,-519160,-519360,-518960,1204,1204,0 +1789,chaos,-520364,-515930,-516130,-515730,4434,4434,0 +1790,chaos,-520364,-525310,-525510,-525110,4946,-4946,0 +1791,chaos,-520364,-518840,-519040,-518640,1524,1524,0 +1792,chaos,-520364,-518640,-518840,-518440,1724,1724,0 +1793,chaos,-520364,-516840,-517040,-516640,3524,3524,0 +1794,chaos,-520364,-524240,-524440,-524040,3876,-3876,0 +1795,chaos,-520364,-521130,-521330,-520930,766,-766,0 +1796,chaos,-520364,-520390,-520590,-520190,26,-26,0.925 +1797,chaos,-520364,-517010,-517210,-516810,3354,3354,0 +1798,chaos,-520364,-522190,-522390,-521990,1826,-1826,0 +1799,chaos,-520364,-515590,-515790,-515390,4774,4774,0 +1800,chaos,-520364,-517330,-517530,-517130,3034,3034,0 +1801,chaos,-520364,-524980,-525180,-524780,4616,-4616,0 +1802,chaos,-520364,-524250,-524450,-524050,3886,-3886,0 +1803,chaos,-520364,-520310,-520510,-520110,54,54,0.875 +1804,chaos,-520364,-519810,-520010,-519610,554,554,0 +1805,chaos,-520364,-517430,-517630,-517230,2934,2934,0 +1806,chaos,-520364,-522230,-522430,-522030,1866,-1866,0 +1807,chaos,-520364,-520650,-520850,-520450,286,-286,0.275 +1808,chaos,-520364,-519020,-519220,-518820,1344,1344,0 +1809,chaos,-520364,-524100,-524300,-523900,3736,-3736,0 +1810,chaos,-520364,-523800,-524000,-523600,3436,-3436,0 +1811,chaos,-520364,-517650,-517850,-517450,2714,2714,0 +1812,chaos,-520364,-517300,-517500,-517100,3064,3064,0 +1813,chaos,-520364,-520690,-520890,-520490,326,-326,0.175 +1814,chaos,-520364,-516270,-516470,-516070,4094,4094,0 +1815,chaos,-520364,-522000,-522200,-521800,1636,-1636,0 +1816,chaos,-520364,-522650,-522850,-522450,2286,-2286,0 +1817,chaos,-520364,-518950,-519150,-518750,1414,1414,0 +1818,chaos,-520364,-522040,-522240,-521840,1676,-1676,0 +1819,chaos,-520364,-523320,-523520,-523120,2956,-2956,0 +1820,chaos,-520364,-523330,-523530,-523130,2966,-2966,0 +1821,chaos,-520364,-519510,-519710,-519310,854,854,0 +1822,chaos,-520364,-516770,-516970,-516570,3594,3594,0 +1823,chaos,-520364,-524720,-524920,-524520,4356,-4356,0 +1824,chaos,-520364,-518410,-518610,-518210,1954,1954,0 +1825,chaos,-520364,-520080,-520280,-519880,284,284,0.3 +1826,chaos,-520364,-522180,-522380,-521980,1816,-1816,0 +1827,chaos,-520364,-517110,-517310,-516910,3254,3254,0 +1828,chaos,-520364,-523220,-523420,-523020,2856,-2856,0 +1829,chaos,-520364,-520920,-521120,-520720,556,-556,0 +1830,chaos,-520364,-522210,-522410,-522010,1846,-1846,0 +1831,chaos,-520364,-520430,-520630,-520230,66,-66,0.825 +1832,chaos,-520364,-521350,-521550,-521150,986,-986,0 +1833,chaos,-520364,-524340,-524540,-524140,3976,-3976,0 +1834,chaos,-520364,-522420,-522620,-522220,2056,-2056,0 +1835,chaos,-520364,-519650,-519850,-519450,714,714,0 +1836,chaos,-520364,-521510,-521710,-521310,1146,-1146,0 +1837,chaos,-520364,-518190,-518390,-517990,2174,2174,0 +1838,chaos,-520364,-520460,-520660,-520260,96,-96,0.75 +1839,chaos,-520364,-523200,-523400,-523000,2836,-2836,0 +1840,chaos,-520364,-518260,-518460,-518060,2104,2104,0 +1841,chaos,-520364,-521930,-522130,-521730,1566,-1566,0 +1842,chaos,-520364,-523170,-523370,-522970,2806,-2806,0 +1843,chaos,-520364,-520510,-520710,-520310,146,-146,0.625 +1844,chaos,-520364,-515500,-515700,-515300,4864,4864,0 +1845,chaos,-520364,-524000,-524200,-523800,3636,-3636,0 +1846,chaos,-520364,-519880,-520080,-519680,484,484,0 +1847,chaos,-520364,-522170,-522370,-521970,1806,-1806,0 +1848,chaos,-520364,-518160,-518360,-517960,2204,2204,0 +1849,chaos,-520364,-524150,-524350,-523950,3786,-3786,0 +1850,chaos,-520364,-519030,-519230,-518830,1334,1334,0 +1851,chaos,-520364,-521620,-521820,-521420,1256,-1256,0 +1852,chaos,-520364,-521360,-521560,-521160,996,-996,0 +1853,chaos,-520364,-525020,-525220,-524820,4656,-4656,0 +1854,chaos,-520364,-521870,-522070,-521670,1506,-1506,0 +1855,chaos,-520364,-525160,-525360,-524960,4796,-4796,0 +1856,chaos,-520364,-522690,-522890,-522490,2326,-2326,0 +1857,chaos,-520364,-520040,-520240,-519840,324,324,0.2 +1858,chaos,-520364,-515880,-516080,-515680,4484,4484,0 +1859,chaos,-520364,-515770,-515970,-515570,4594,4594,0 +1860,chaos,-520364,-522940,-523140,-522740,2576,-2576,0 +1861,chaos,-520364,-523510,-523710,-523310,3146,-3146,0 +1862,chaos,-520364,-520680,-520880,-520480,316,-316,0.2 +1863,chaos,-520364,-521640,-521840,-521440,1276,-1276,0 +1864,chaos,-520364,-517430,-517630,-517230,2934,2934,0 +1865,chaos,-520364,-519930,-520130,-519730,434,434,0 +1866,chaos,-520364,-521010,-521210,-520810,646,-646,0 +1867,chaos,-520364,-520410,-520610,-520210,46,-46,0.875 +1868,chaos,-520364,-516200,-516400,-516000,4164,4164,0 +1869,chaos,-520364,-520230,-520430,-520030,134,134,0.675 +1870,chaos,-520364,-515980,-516180,-515780,4384,4384,0 +1871,chaos,-520364,-518220,-518420,-518020,2144,2144,0 +1872,chaos,-520364,-518340,-518540,-518140,2024,2024,0 +1873,chaos,-520364,-516110,-516310,-515910,4254,4254,0 +1874,chaos,-520364,-524510,-524710,-524310,4146,-4146,0 +1875,chaos,-520364,-516890,-517090,-516690,3474,3474,0 +1876,chaos,-520364,-518880,-519080,-518680,1484,1484,0 +1877,chaos,-520364,-518520,-518720,-518320,1844,1844,0 +1878,chaos,-520364,-524190,-524390,-523990,3826,-3826,0 +1879,chaos,-520364,-520340,-520540,-520140,24,24,0.95 +1880,chaos,-520364,-522680,-522880,-522480,2316,-2316,0 +1881,chaos,-520364,-523910,-524110,-523710,3546,-3546,0 +1882,chaos,-520364,-524270,-524470,-524070,3906,-3906,0 +1883,chaos,-520364,-522230,-522430,-522030,1866,-1866,0 +1884,chaos,-520364,-524770,-524970,-524570,4406,-4406,0 +1885,chaos,-520364,-521350,-521550,-521150,986,-986,0 +1886,chaos,-520364,-519770,-519970,-519570,594,594,0 +1887,chaos,-520364,-517690,-517890,-517490,2674,2674,0 +1888,chaos,-520364,-520510,-520710,-520310,146,-146,0.625 +1889,chaos,-520364,-519800,-520000,-519600,564,564,0 +1890,chaos,-520364,-516540,-516740,-516340,3824,3824,0 +1891,chaos,-520364,-522730,-522930,-522530,2366,-2366,0 +1892,chaos,-520364,-515430,-515630,-515230,4934,4934,0 +1893,chaos,-520364,-517240,-517440,-517040,3124,3124,0 +1894,chaos,-520364,-518820,-519020,-518620,1544,1544,0 +1895,chaos,-520364,-521700,-521900,-521500,1336,-1336,0 +1896,chaos,-520364,-515810,-516010,-515610,4554,4554,0 +1897,chaos,-520364,-516250,-516450,-516050,4114,4114,0 +1898,chaos,-520364,-521400,-521600,-521200,1036,-1036,0 +1899,chaos,-520364,-523990,-524190,-523790,3626,-3626,0 +1900,chaos,-520364,-521350,-521550,-521150,986,-986,0 +1901,chaos,-520364,-524700,-524900,-524500,4336,-4336,0 +1902,chaos,-520364,-520000,-520200,-519800,364,364,0.1 +1903,chaos,-520364,-525280,-525480,-525080,4916,-4916,0 +1904,chaos,-520364,-517850,-518050,-517650,2514,2514,0 +1905,chaos,-520364,-520400,-520600,-520200,36,-36,0.9 +1906,chaos,-520364,-522650,-522850,-522450,2286,-2286,0 +1907,chaos,-520364,-519750,-519950,-519550,614,614,0 +1908,chaos,-520364,-519070,-519270,-518870,1294,1294,0 +1909,chaos,-520364,-523650,-523850,-523450,3286,-3286,0 +1910,chaos,-520364,-521030,-521230,-520830,666,-666,0 +1911,chaos,-520364,-523800,-524000,-523600,3436,-3436,0 +1912,chaos,-520364,-522500,-522700,-522300,2136,-2136,0 +1913,chaos,-520364,-525340,-525540,-525140,4976,-4976,0 +1914,chaos,-520364,-519030,-519230,-518830,1334,1334,0 +1915,chaos,-520364,-516710,-516910,-516510,3654,3654,0 +1916,chaos,-520364,-520510,-520710,-520310,146,-146,0.625 +1917,chaos,-520364,-520210,-520410,-520010,154,154,0.625 +1918,chaos,-520364,-517800,-518000,-517600,2564,2564,0 +1919,chaos,-520364,-518230,-518430,-518030,2134,2134,0 +1920,chaos,-520364,-517290,-517490,-517090,3074,3074,0 +1921,chaos,-520364,-517210,-517410,-517010,3154,3154,0 +1922,chaos,-520364,-524280,-524480,-524080,3916,-3916,0 +1923,chaos,-520364,-523730,-523930,-523530,3366,-3366,0 +1924,chaos,-520364,-520810,-521010,-520610,446,-446,0 +1925,chaos,-520364,-520760,-520960,-520560,396,-396,0 +1926,chaos,-520364,-523980,-524180,-523780,3616,-3616,0 +1927,chaos,-520364,-521680,-521880,-521480,1316,-1316,0 +1928,chaos,-520364,-515990,-516190,-515790,4374,4374,0 +1929,chaos,-520364,-518790,-518990,-518590,1574,1574,0 +1930,chaos,-520364,-519410,-519610,-519210,954,954,0 +1931,chaos,-520364,-520370,-520570,-520170,6,-6,0.975 +1932,chaos,-520364,-521210,-521410,-521010,846,-846,0 +1933,chaos,-520364,-524210,-524410,-524010,3846,-3846,0 +1934,chaos,-520364,-519730,-519930,-519530,634,634,0 +1935,chaos,-520364,-516140,-516340,-515940,4224,4224,0 +1936,chaos,-520364,-524450,-524650,-524250,4086,-4086,0 +1937,chaos,-520364,-524030,-524230,-523830,3666,-3666,0 +1938,chaos,-520364,-517810,-518010,-517610,2554,2554,0 +1939,chaos,-520364,-517510,-517710,-517310,2854,2854,0 +1940,chaos,-520364,-519330,-519530,-519130,1034,1034,0 +1941,chaos,-520364,-525330,-525530,-525130,4966,-4966,0 +1942,chaos,-520364,-521270,-521470,-521070,906,-906,0 +1943,chaos,-520364,-522710,-522910,-522510,2346,-2346,0 +1944,chaos,-520364,-515480,-515680,-515280,4884,4884,0 +1945,chaos,-520364,-516320,-516520,-516120,4044,4044,0 +1946,chaos,-520364,-524310,-524510,-524110,3946,-3946,0 +1947,chaos,-520364,-515780,-515980,-515580,4584,4584,0 +1948,chaos,-520364,-516020,-516220,-515820,4344,4344,0 +1949,chaos,-520364,-521610,-521810,-521410,1246,-1246,0 +1950,chaos,-520364,-523970,-524170,-523770,3606,-3606,0 +1951,chaos,-520364,-524380,-524580,-524180,4016,-4016,0 +1952,chaos,-520364,-518670,-518870,-518470,1694,1694,0 +1953,chaos,-520364,-523210,-523410,-523010,2846,-2846,0 +1954,chaos,-520364,-521820,-522020,-521620,1456,-1456,0 +1955,chaos,-520364,-521570,-521770,-521370,1206,-1206,0 +1956,chaos,-520364,-519030,-519230,-518830,1334,1334,0 +1957,chaos,-520364,-524240,-524440,-524040,3876,-3876,0 +1958,chaos,-520364,-519610,-519810,-519410,754,754,0 +1959,chaos,-520364,-525290,-525490,-525090,4926,-4926,0 +1960,chaos,-520364,-520540,-520740,-520340,176,-176,0.55 +1961,chaos,-520364,-521250,-521450,-521050,886,-886,0 +1962,chaos,-520364,-518730,-518930,-518530,1634,1634,0 +1963,chaos,-520364,-516350,-516550,-516150,4014,4014,0 +1964,chaos,-520364,-517750,-517950,-517550,2614,2614,0 +1965,chaos,-520364,-525180,-525380,-524980,4816,-4816,0 +1966,chaos,-520364,-519770,-519970,-519570,594,594,0 +1967,chaos,-520364,-519250,-519450,-519050,1114,1114,0 +1968,chaos,-520364,-519750,-519950,-519550,614,614,0 +1969,chaos,-520364,-518750,-518950,-518550,1614,1614,0 +1970,chaos,-520364,-517010,-517210,-516810,3354,3354,0 +1971,chaos,-520364,-518610,-518810,-518410,1754,1754,0 +1972,chaos,-520364,-519530,-519730,-519330,834,834,0 +1973,chaos,-520364,-521390,-521590,-521190,1026,-1026,0 +1974,chaos,-520364,-520430,-520630,-520230,66,-66,0.825 +1975,chaos,-520364,-515610,-515810,-515410,4754,4754,0 +1976,chaos,-520364,-519180,-519380,-518980,1184,1184,0 +1977,chaos,-520364,-522380,-522580,-522180,2016,-2016,0 +1978,chaos,-520364,-517100,-517300,-516900,3264,3264,0 +1979,chaos,-520364,-521580,-521780,-521380,1216,-1216,0 +1980,chaos,-520364,-524560,-524760,-524360,4196,-4196,0 +1981,chaos,-520364,-519250,-519450,-519050,1114,1114,0 +1982,chaos,-520364,-516690,-516890,-516490,3674,3674,0 +1983,chaos,-520364,-515590,-515790,-515390,4774,4774,0 +1984,chaos,-520364,-521340,-521540,-521140,976,-976,0 +1985,chaos,-520364,-522790,-522990,-522590,2426,-2426,0 +1986,chaos,-520364,-518300,-518500,-518100,2064,2064,0 +1987,chaos,-520364,-523170,-523370,-522970,2806,-2806,0 +1988,chaos,-520364,-524020,-524220,-523820,3656,-3656,0 +1989,chaos,-520364,-516720,-516920,-516520,3644,3644,0 +1990,chaos,-520364,-525130,-525330,-524930,4766,-4766,0 +1991,chaos,-520364,-518990,-519190,-518790,1374,1374,0 +1992,chaos,-520364,-522930,-523130,-522730,2566,-2566,0 +1993,chaos,-520364,-515860,-516060,-515660,4504,4504,0 +1994,chaos,-520364,-520240,-520440,-520040,124,124,0.7 +1995,chaos,-520364,-517290,-517490,-517090,3074,3074,0 +1996,chaos,-520364,-521910,-522110,-521710,1546,-1546,0 +1997,chaos,-520364,-519740,-519940,-519540,624,624,0 +1998,chaos,-520364,-523450,-523650,-523250,3086,-3086,0 +1999,chaos,-520364,-520660,-520860,-520460,296,-296,0.25 +2000,chaos,-520364,-522000,-522200,-521800,1636,-1636,0 +2001,chaos,-520364,-524790,-524990,-524590,4426,-4426,0 +2002,chaos,-520364,-524770,-524970,-524570,4406,-4406,0 +2003,chaos,-520364,-521230,-521430,-521030,866,-866,0 +2004,chaos,-520364,-525080,-525280,-524880,4716,-4716,0 +2005,chaos,-520364,-524190,-524390,-523990,3826,-3826,0 +2006,chaos,-520364,-521360,-521560,-521160,996,-996,0 +2007,chaos,-520364,-517460,-517660,-517260,2904,2904,0 +2008,chaos,-520364,-520910,-521110,-520710,546,-546,0 +2009,chaos,-520364,-523210,-523410,-523010,2846,-2846,0 +2010,chaos,-520364,-524010,-524210,-523810,3646,-3646,0 +2011,chaos,-520364,-520940,-521140,-520740,576,-576,0 +2012,chaos,-520364,-524900,-525100,-524700,4536,-4536,0 +2013,chaos,-520364,-519420,-519620,-519220,944,944,0 +2014,chaos,-520364,-516690,-516890,-516490,3674,3674,0 +2015,chaos,-520364,-519750,-519950,-519550,614,614,0 +2016,chaos,-520364,-516310,-516510,-516110,4054,4054,0 +2017,chaos,-520364,-521200,-521400,-521000,836,-836,0 +2018,chaos,-520364,-522650,-522850,-522450,2286,-2286,0 +2019,chaos,-520364,-517780,-517980,-517580,2584,2584,0 +2020,chaos,-520364,-517660,-517860,-517460,2704,2704,0 +2021,chaos,-520364,-523780,-523980,-523580,3416,-3416,0 +2022,chaos,-520364,-520020,-520220,-519820,344,344,0.15 +2023,chaos,-520364,-523830,-524030,-523630,3466,-3466,0 +2024,chaos,-520364,-524530,-524730,-524330,4166,-4166,0 +2025,chaos,-520364,-519490,-519690,-519290,874,874,0 +2026,chaos,-520364,-518420,-518620,-518220,1944,1944,0 +2027,chaos,-520364,-521510,-521710,-521310,1146,-1146,0 +2028,chaos,-520364,-524750,-524950,-524550,4386,-4386,0 +2029,chaos,-520364,-517510,-517710,-517310,2854,2854,0 +2030,chaos,-520364,-515900,-516100,-515700,4464,4464,0 +2031,chaos,-520364,-520460,-520660,-520260,96,-96,0.75 +2032,chaos,-520364,-516160,-516360,-515960,4204,4204,0 +2033,chaos,-520364,-523590,-523790,-523390,3226,-3226,0 +2034,chaos,-520364,-522280,-522480,-522080,1916,-1916,0 +2035,chaos,-520364,-522200,-522400,-522000,1836,-1836,0 +2036,chaos,-520364,-524930,-525130,-524730,4566,-4566,0 +2037,chaos,-520364,-524760,-524960,-524560,4396,-4396,0 +2038,chaos,-520364,-518090,-518290,-517890,2274,2274,0 +2039,chaos,-520364,-518130,-518330,-517930,2234,2234,0 +2040,chaos,-520364,-515600,-515800,-515400,4764,4764,0 +2041,chaos,-520364,-522200,-522400,-522000,1836,-1836,0 +2042,chaos,-520364,-523220,-523420,-523020,2856,-2856,0 +2043,chaos,-520364,-524400,-524600,-524200,4036,-4036,0 +2044,chaos,-520364,-521310,-521510,-521110,946,-946,0 +2045,chaos,-520364,-520880,-521080,-520680,516,-516,0 +2046,chaos,-520364,-523340,-523540,-523140,2976,-2976,0 +2047,chaos,-520364,-515720,-515920,-515520,4644,4644,0 +2048,chaos,-520364,-520400,-520600,-520200,36,-36,0.9 +2049,chaos,-520364,-521580,-521780,-521380,1216,-1216,0 +2050,chaos,-520364,-516270,-516470,-516070,4094,4094,0 +2051,chaos,-520364,-517540,-517740,-517340,2824,2824,0 +2052,chaos,-520364,-516380,-516580,-516180,3984,3984,0 +2053,chaos,-520364,-524660,-524860,-524460,4296,-4296,0 +2054,chaos,-520364,-517080,-517280,-516880,3284,3284,0 +2055,chaos,-520364,-520490,-520690,-520290,126,-126,0.675 +2056,chaos,-520364,-517880,-518080,-517680,2484,2484,0 +2057,chaos,-520364,-524380,-524580,-524180,4016,-4016,0 +2058,chaos,-520364,-525180,-525380,-524980,4816,-4816,0 +2059,chaos,-520364,-524030,-524230,-523830,3666,-3666,0 +2060,chaos,-520364,-524690,-524890,-524490,4326,-4326,0 +2061,chaos,-520364,-521330,-521530,-521130,966,-966,0 +2062,chaos,-520364,-517570,-517770,-517370,2794,2794,0 +2063,chaos,-520364,-521460,-521660,-521260,1096,-1096,0 +2064,chaos,-520364,-523450,-523650,-523250,3086,-3086,0 +2065,chaos,-520364,-516330,-516530,-516130,4034,4034,0 +2066,chaos,-520364,-525060,-525260,-524860,4696,-4696,0 +2067,chaos,-520364,-517270,-517470,-517070,3094,3094,0 +2068,chaos,-520364,-524640,-524840,-524440,4276,-4276,0 +2069,chaos,-520364,-524190,-524390,-523990,3826,-3826,0 +2070,chaos,-520364,-517220,-517420,-517020,3144,3144,0 +2071,chaos,-520364,-516850,-517050,-516650,3514,3514,0 +2072,chaos,-520364,-519050,-519250,-518850,1314,1314,0 +2073,chaos,-520364,-519910,-520110,-519710,454,454,0 +2074,chaos,-520364,-519490,-519690,-519290,874,874,0 +2075,chaos,-520364,-517810,-518010,-517610,2554,2554,0 +2076,chaos,-520364,-524840,-525040,-524640,4476,-4476,0 +2077,chaos,-520364,-524330,-524530,-524130,3966,-3966,0 +2078,chaos,-520364,-522580,-522780,-522380,2216,-2216,0 +2079,chaos,-520364,-518940,-519140,-518740,1424,1424,0 +2080,chaos,-520364,-520520,-520720,-520320,156,-156,0.6 +2081,chaos,-520364,-522940,-523140,-522740,2576,-2576,0 +2082,chaos,-520364,-520380,-520580,-520180,16,-16,0.95 +2083,chaos,-520364,-518900,-519100,-518700,1464,1464,0 +2084,chaos,-520364,-519140,-519340,-518940,1224,1224,0 +2085,chaos,-520364,-522600,-522800,-522400,2236,-2236,0 +2086,chaos,-520364,-516620,-516820,-516420,3744,3744,0 +2087,chaos,-520364,-521600,-521800,-521400,1236,-1236,0 +2088,chaos,-520364,-515870,-516070,-515670,4494,4494,0 +2089,chaos,-520364,-523680,-523880,-523480,3316,-3316,0 +2090,chaos,-520364,-516980,-517180,-516780,3384,3384,0 +2091,chaos,-520364,-518090,-518290,-517890,2274,2274,0 +2092,chaos,-520364,-516230,-516430,-516030,4134,4134,0 +2093,chaos,-520364,-519270,-519470,-519070,1094,1094,0 +2094,chaos,-520364,-520390,-520590,-520190,26,-26,0.925 +2095,chaos,-520364,-519490,-519690,-519290,874,874,0 +2096,chaos,-520364,-522700,-522900,-522500,2336,-2336,0 +2097,chaos,-520364,-520210,-520410,-520010,154,154,0.625 +2098,chaos,-520364,-524120,-524320,-523920,3756,-3756,0 +2099,chaos,-520364,-522200,-522400,-522000,1836,-1836,0 +2100,chaos,-520364,-524020,-524220,-523820,3656,-3656,0 +2101,chaos,-520364,-523460,-523660,-523260,3096,-3096,0 +2102,chaos,-520364,-517070,-517270,-516870,3294,3294,0 +2103,chaos,-520364,-516200,-516400,-516000,4164,4164,0 +2104,chaos,-520364,-522080,-522280,-521880,1716,-1716,0 +2105,chaos,-520364,-524140,-524340,-523940,3776,-3776,0 +2106,chaos,-520364,-520480,-520680,-520280,116,-116,0.7 +2107,chaos,-520364,-518820,-519020,-518620,1544,1544,0 +2108,chaos,-520364,-522980,-523180,-522780,2616,-2616,0 +2109,chaos,-520364,-520220,-520420,-520020,144,144,0.65 +2110,chaos,-520364,-516860,-517060,-516660,3504,3504,0 +2111,chaos,-520364,-521150,-521350,-520950,786,-786,0 +2112,chaos,-520364,-524320,-524520,-524120,3956,-3956,0 +2113,chaos,-520364,-518620,-518820,-518420,1744,1744,0 +2114,chaos,-520364,-517310,-517510,-517110,3054,3054,0 +2115,chaos,-520364,-517290,-517490,-517090,3074,3074,0 +2116,chaos,-520364,-520280,-520480,-520080,84,84,0.8 +2117,chaos,-520364,-524270,-524470,-524070,3906,-3906,0 +2118,chaos,-520364,-517760,-517960,-517560,2604,2604,0 +2119,chaos,-520364,-519830,-520030,-519630,534,534,0 +2120,chaos,-520364,-523810,-524010,-523610,3446,-3446,0 +2121,chaos,-520364,-525250,-525450,-525050,4886,-4886,0 +2122,chaos,-520364,-523770,-523970,-523570,3406,-3406,0 +2123,chaos,-520364,-523440,-523640,-523240,3076,-3076,0 +2124,chaos,-520364,-517910,-518110,-517710,2454,2454,0 +2125,chaos,-520364,-521650,-521850,-521450,1286,-1286,0 +2126,chaos,-520364,-522960,-523160,-522760,2596,-2596,0 +2127,chaos,-520364,-517720,-517920,-517520,2644,2644,0 +2128,chaos,-520364,-521520,-521720,-521320,1156,-1156,0 +2129,chaos,-520364,-524330,-524530,-524130,3966,-3966,0 +2130,chaos,-520364,-524150,-524350,-523950,3786,-3786,0 +2131,chaos,-520364,-519450,-519650,-519250,914,914,0 +2132,chaos,-520364,-521300,-521500,-521100,936,-936,0 +2133,chaos,-520364,-522470,-522670,-522270,2106,-2106,0 +2134,chaos,-520364,-524730,-524930,-524530,4366,-4366,0 +2135,chaos,-520364,-518510,-518710,-518310,1854,1854,0 +2136,chaos,-520364,-521500,-521700,-521300,1136,-1136,0 +2137,chaos,-520364,-521980,-522180,-521780,1616,-1616,0 +2138,chaos,-520364,-516740,-516940,-516540,3624,3624,0 +2139,chaos,-520364,-520730,-520930,-520530,366,-366,0.075 +2140,chaos,-520364,-517420,-517620,-517220,2944,2944,0 +2141,chaos,-520364,-520140,-520340,-519940,224,224,0.45 +2142,chaos,-520364,-518540,-518740,-518340,1824,1824,0 +2143,chaos,-520364,-524920,-525120,-524720,4556,-4556,0 +2144,chaos,-520364,-519230,-519430,-519030,1134,1134,0 +2145,chaos,-520364,-522120,-522320,-521920,1756,-1756,0 +2146,chaos,-520364,-519260,-519460,-519060,1104,1104,0 +2147,chaos,-520364,-517130,-517330,-516930,3234,3234,0 +2148,chaos,-520364,-517030,-517230,-516830,3334,3334,0 +2149,chaos,-520364,-515640,-515840,-515440,4724,4724,0 +2150,chaos,-520364,-520160,-520360,-519960,204,204,0.5 +2151,chaos,-520364,-519140,-519340,-518940,1224,1224,0 +2152,chaos,-520364,-522230,-522430,-522030,1866,-1866,0 +2153,chaos,-520364,-520570,-520770,-520370,206,-206,0.475 +2154,chaos,-520364,-523250,-523450,-523050,2886,-2886,0 +2155,chaos,-520364,-518680,-518880,-518480,1684,1684,0 +2156,chaos,-520364,-523030,-523230,-522830,2666,-2666,0 +2157,chaos,-520364,-521600,-521800,-521400,1236,-1236,0 +2158,chaos,-520364,-524350,-524550,-524150,3986,-3986,0 +2159,chaos,-520364,-522980,-523180,-522780,2616,-2616,0 +2160,chaos,-520364,-524960,-525160,-524760,4596,-4596,0 +2161,chaos,-520364,-521400,-521600,-521200,1036,-1036,0 +2162,chaos,-520364,-515750,-515950,-515550,4614,4614,0 +2163,chaos,-520364,-523660,-523860,-523460,3296,-3296,0 +2164,chaos,-520364,-519080,-519280,-518880,1284,1284,0 +2165,chaos,-520364,-516790,-516990,-516590,3574,3574,0 +2166,chaos,-520364,-517340,-517540,-517140,3024,3024,0 +2167,chaos,-520364,-518200,-518400,-518000,2164,2164,0 +2168,chaos,-520364,-524830,-525030,-524630,4466,-4466,0 +2169,chaos,-520364,-520470,-520670,-520270,106,-106,0.725 +2170,chaos,-520364,-522240,-522440,-522040,1876,-1876,0 +2171,chaos,-520364,-523320,-523520,-523120,2956,-2956,0 +2172,chaos,-520364,-521830,-522030,-521630,1466,-1466,0 +2173,chaos,-520364,-522470,-522670,-522270,2106,-2106,0 +2174,chaos,-520364,-522580,-522780,-522380,2216,-2216,0 +2175,chaos,-520364,-520270,-520470,-520070,94,94,0.775 +2176,chaos,-520364,-522400,-522600,-522200,2036,-2036,0 +2177,chaos,-520364,-522530,-522730,-522330,2166,-2166,0 +2178,chaos,-520364,-521680,-521880,-521480,1316,-1316,0 +2179,chaos,-520364,-520860,-521060,-520660,496,-496,0 +2180,chaos,-520364,-524550,-524750,-524350,4186,-4186,0 +2181,chaos,-520364,-516830,-517030,-516630,3534,3534,0 +2182,chaos,-520364,-522540,-522740,-522340,2176,-2176,0 +2183,chaos,-520364,-515730,-515930,-515530,4634,4634,0 +2184,chaos,-520364,-519480,-519680,-519280,884,884,0 +2185,chaos,-520364,-517090,-517290,-516890,3274,3274,0 +2186,chaos,-520364,-517240,-517440,-517040,3124,3124,0 +2187,chaos,-520364,-515400,-515600,-515200,4964,4964,0 +2188,chaos,-520364,-524240,-524440,-524040,3876,-3876,0 +2189,chaos,-520364,-518700,-518900,-518500,1664,1664,0 +2190,chaos,-520364,-516380,-516580,-516180,3984,3984,0 +2191,chaos,-520364,-524560,-524760,-524360,4196,-4196,0 +2192,chaos,-520364,-520970,-521170,-520770,606,-606,0 +2193,chaos,-520364,-518000,-518200,-517800,2364,2364,0 +2194,chaos,-520364,-515640,-515840,-515440,4724,4724,0 +2195,chaos,-520364,-522990,-523190,-522790,2626,-2626,0 +2196,chaos,-520364,-523590,-523790,-523390,3226,-3226,0 +2197,chaos,-520364,-516470,-516670,-516270,3894,3894,0 +2198,chaos,-520364,-520870,-521070,-520670,506,-506,0 +2199,chaos,-520364,-522920,-523120,-522720,2556,-2556,0 +2200,chaos,-520364,-520030,-520230,-519830,334,334,0.175 +2201,chaos,-520364,-524530,-524730,-524330,4166,-4166,0 +2202,chaos,-520364,-517920,-518120,-517720,2444,2444,0 +2203,chaos,-520364,-522530,-522730,-522330,2166,-2166,0 +2204,chaos,-520364,-519240,-519440,-519040,1124,1124,0 +2205,chaos,-520364,-522000,-522200,-521800,1636,-1636,0 +2206,chaos,-520364,-516770,-516970,-516570,3594,3594,0 +2207,chaos,-520364,-522990,-523190,-522790,2626,-2626,0 +2208,chaos,-520364,-518970,-519170,-518770,1394,1394,0 +2209,chaos,-520364,-523290,-523490,-523090,2926,-2926,0 +2210,chaos,-520364,-519980,-520180,-519780,384,384,0.05 +2211,chaos,-520364,-523110,-523310,-522910,2746,-2746,0 +2212,chaos,-520364,-515870,-516070,-515670,4494,4494,0 +2213,chaos,-520364,-517460,-517660,-517260,2904,2904,0 +2214,chaos,-520364,-521900,-522100,-521700,1536,-1536,0 +2215,chaos,-520364,-515950,-516150,-515750,4414,4414,0 +2216,chaos,-520364,-515460,-515660,-515260,4904,4904,0 +2217,chaos,-520364,-524300,-524500,-524100,3936,-3936,0 +2218,chaos,-520364,-522180,-522380,-521980,1816,-1816,0 +2219,chaos,-520364,-520910,-521110,-520710,546,-546,0 +2220,chaos,-520364,-518120,-518320,-517920,2244,2244,0 +2221,chaos,-520364,-517260,-517460,-517060,3104,3104,0 +2222,chaos,-520364,-520970,-521170,-520770,606,-606,0 +2223,chaos,-520364,-522590,-522790,-522390,2226,-2226,0 +2224,chaos,-520364,-520060,-520260,-519860,304,304,0.25 +2225,chaos,-520364,-518780,-518980,-518580,1584,1584,0 +2226,chaos,-520364,-520960,-521160,-520760,596,-596,0 +2227,chaos,-520364,-516380,-516580,-516180,3984,3984,0 +2228,chaos,-520364,-520040,-520240,-519840,324,324,0.2 +2229,chaos,-520364,-521920,-522120,-521720,1556,-1556,0 +2230,chaos,-520364,-525200,-525400,-525000,4836,-4836,0 +2231,chaos,-520364,-524600,-524800,-524400,4236,-4236,0 +2232,chaos,-520364,-516380,-516580,-516180,3984,3984,0 +2233,chaos,-520364,-517600,-517800,-517400,2764,2764,0 +2234,chaos,-520364,-524410,-524610,-524210,4046,-4046,0 +2235,chaos,-520364,-523110,-523310,-522910,2746,-2746,0 +2236,chaos,-520364,-519080,-519280,-518880,1284,1284,0 +2237,chaos,-520364,-521360,-521560,-521160,996,-996,0 +2238,chaos,-520364,-520390,-520590,-520190,26,-26,0.925 +2239,chaos,-520364,-522860,-523060,-522660,2496,-2496,0 +2240,chaos,-520364,-520740,-520940,-520540,376,-376,0.05 +2241,chaos,-520364,-518030,-518230,-517830,2334,2334,0 +2242,chaos,-520364,-524510,-524710,-524310,4146,-4146,0 +2243,chaos,-520364,-516850,-517050,-516650,3514,3514,0 +2244,chaos,-520364,-515660,-515860,-515460,4704,4704,0 +2245,chaos,-520364,-522700,-522900,-522500,2336,-2336,0 +2246,chaos,-520364,-523680,-523880,-523480,3316,-3316,0 +2247,chaos,-520364,-521320,-521520,-521120,956,-956,0 +2248,chaos,-520364,-520840,-521040,-520640,476,-476,0 +2249,chaos,-520364,-515560,-515760,-515360,4804,4804,0 +2250,chaos,-520364,-520380,-520580,-520180,16,-16,0.95 +2251,chaos,-520364,-519500,-519700,-519300,864,864,0 +2252,chaos,-520364,-523350,-523550,-523150,2986,-2986,0 +2253,chaos,-520364,-515410,-515610,-515210,4954,4954,0 +2254,chaos,-520364,-515920,-516120,-515720,4444,4444,0 +2255,chaos,-520364,-524990,-525190,-524790,4626,-4626,0 +2256,chaos,-520364,-523770,-523970,-523570,3406,-3406,0 +2257,chaos,-520364,-524180,-524380,-523980,3816,-3816,0 +2258,chaos,-520364,-519850,-520050,-519650,514,514,0 +2259,chaos,-520364,-521260,-521460,-521060,896,-896,0 +2260,chaos,-520364,-521790,-521990,-521590,1426,-1426,0 +2261,chaos,-520364,-516090,-516290,-515890,4274,4274,0 +2262,chaos,-520364,-522610,-522810,-522410,2246,-2246,0 +2263,chaos,-520364,-521160,-521360,-520960,796,-796,0 +2264,chaos,-520364,-520420,-520620,-520220,56,-56,0.85 +2265,chaos,-520364,-525000,-525200,-524800,4636,-4636,0 +2266,chaos,-520364,-520770,-520970,-520570,406,-406,0 +2267,chaos,-520364,-515640,-515840,-515440,4724,4724,0 +2268,chaos,-520364,-520990,-521190,-520790,626,-626,0 +2269,chaos,-520364,-521640,-521840,-521440,1276,-1276,0 +2270,chaos,-520364,-519470,-519670,-519270,894,894,0 +2271,chaos,-520364,-517860,-518060,-517660,2504,2504,0 +2272,chaos,-520364,-524620,-524820,-524420,4256,-4256,0 +2273,chaos,-520364,-518820,-519020,-518620,1544,1544,0 +2274,chaos,-520364,-520210,-520410,-520010,154,154,0.625 +2275,chaos,-520364,-518120,-518320,-517920,2244,2244,0 +2276,chaos,-520364,-520950,-521150,-520750,586,-586,0 +2277,chaos,-520364,-517030,-517230,-516830,3334,3334,0 +2278,chaos,-520364,-525190,-525390,-524990,4826,-4826,0 +2279,chaos,-520364,-518160,-518360,-517960,2204,2204,0 +2280,chaos,-520364,-516810,-517010,-516610,3554,3554,0 +2281,chaos,-520364,-515600,-515800,-515400,4764,4764,0 +2282,chaos,-520364,-523950,-524150,-523750,3586,-3586,0 +2283,chaos,-520364,-519790,-519990,-519590,574,574,0 +2284,chaos,-520364,-521000,-521200,-520800,636,-636,0 +2285,chaos,-520364,-518570,-518770,-518370,1794,1794,0 +2286,chaos,-520364,-518960,-519160,-518760,1404,1404,0 +2287,chaos,-520364,-524510,-524710,-524310,4146,-4146,0 +2288,chaos,-520364,-525260,-525460,-525060,4896,-4896,0 +2289,chaos,-520364,-524060,-524260,-523860,3696,-3696,0 +2290,chaos,-520364,-519310,-519510,-519110,1054,1054,0 +2291,chaos,-520364,-520660,-520860,-520460,296,-296,0.25 +2292,chaos,-520364,-519230,-519430,-519030,1134,1134,0 +2293,chaos,-520364,-521400,-521600,-521200,1036,-1036,0 +2294,chaos,-520364,-523530,-523730,-523330,3166,-3166,0 +2295,chaos,-520364,-523160,-523360,-522960,2796,-2796,0 +2296,chaos,-520364,-523820,-524020,-523620,3456,-3456,0 +2297,chaos,-520364,-525000,-525200,-524800,4636,-4636,0 +2298,chaos,-520364,-517270,-517470,-517070,3094,3094,0 +2299,chaos,-520364,-523320,-523520,-523120,2956,-2956,0 +2300,chaos,-520364,-518760,-518960,-518560,1604,1604,0 +2301,chaos,-520364,-515740,-515940,-515540,4624,4624,0 +2302,chaos,-520364,-521250,-521450,-521050,886,-886,0 +2303,chaos,-520364,-517500,-517700,-517300,2864,2864,0 +2304,chaos,-520364,-521690,-521890,-521490,1326,-1326,0 +2305,chaos,-520364,-519470,-519670,-519270,894,894,0 +2306,chaos,-520364,-523730,-523930,-523530,3366,-3366,0 +2307,chaos,-520364,-517470,-517670,-517270,2894,2894,0 +2308,chaos,-520364,-516070,-516270,-515870,4294,4294,0 +2309,chaos,-520364,-520670,-520870,-520470,306,-306,0.225 +2310,chaos,-520364,-524130,-524330,-523930,3766,-3766,0 +2311,chaos,-520364,-522690,-522890,-522490,2326,-2326,0 +2312,chaos,-520364,-520580,-520780,-520380,216,-216,0.45 +2313,chaos,-520364,-517120,-517320,-516920,3244,3244,0 +2314,chaos,-520364,-521570,-521770,-521370,1206,-1206,0 +2315,chaos,-520364,-518030,-518230,-517830,2334,2334,0 +2316,chaos,-520364,-521480,-521680,-521280,1116,-1116,0 +2317,chaos,-520364,-519940,-520140,-519740,424,424,0 +2318,chaos,-520364,-516160,-516360,-515960,4204,4204,0 +2319,chaos,-520364,-516590,-516790,-516390,3774,3774,0 +2320,chaos,-520364,-516990,-517190,-516790,3374,3374,0 +2321,chaos,-520364,-519210,-519410,-519010,1154,1154,0 +2322,chaos,-520364,-519580,-519780,-519380,784,784,0 +2323,chaos,-520364,-519010,-519210,-518810,1354,1354,0 +2324,chaos,-520364,-521710,-521910,-521510,1346,-1346,0 +2325,chaos,-520364,-516440,-516640,-516240,3924,3924,0 +2326,chaos,-520364,-524620,-524820,-524420,4256,-4256,0 +2327,chaos,-520364,-524190,-524390,-523990,3826,-3826,0 +2328,chaos,-520364,-523450,-523650,-523250,3086,-3086,0 +2329,chaos,-520364,-518710,-518910,-518510,1654,1654,0 +2330,chaos,-520364,-515450,-515650,-515250,4914,4914,0 +2331,chaos,-520364,-524930,-525130,-524730,4566,-4566,0 +2332,chaos,-520364,-520280,-520480,-520080,84,84,0.8 +2333,chaos,-520364,-517650,-517850,-517450,2714,2714,0 +2334,chaos,-520364,-520950,-521150,-520750,586,-586,0 +2335,chaos,-520364,-516760,-516960,-516560,3604,3604,0 +2336,chaos,-520364,-524640,-524840,-524440,4276,-4276,0 +2337,chaos,-520364,-516540,-516740,-516340,3824,3824,0 +2338,chaos,-520364,-515650,-515850,-515450,4714,4714,0 +2339,chaos,-520364,-517220,-517420,-517020,3144,3144,0 +2340,chaos,-520364,-521850,-522050,-521650,1486,-1486,0 +2341,chaos,-520364,-522170,-522370,-521970,1806,-1806,0 +2342,chaos,-520364,-516940,-517140,-516740,3424,3424,0 +2343,chaos,-520364,-523170,-523370,-522970,2806,-2806,0 +2344,chaos,-520364,-525020,-525220,-524820,4656,-4656,0 +2345,chaos,-520364,-518900,-519100,-518700,1464,1464,0 +2346,chaos,-520364,-521300,-521500,-521100,936,-936,0 +2347,chaos,-520364,-525350,-525550,-525150,4986,-4986,0 +2348,chaos,-520364,-515450,-515650,-515250,4914,4914,0 +2349,chaos,-520364,-518790,-518990,-518590,1574,1574,0 +2350,chaos,-520364,-521380,-521580,-521180,1016,-1016,0 +2351,chaos,-520364,-518860,-519060,-518660,1504,1504,0 +2352,chaos,-520364,-524570,-524770,-524370,4206,-4206,0 +2353,chaos,-520364,-520680,-520880,-520480,316,-316,0.2 +2354,chaos,-520364,-524240,-524440,-524040,3876,-3876,0 +2355,chaos,-520364,-518290,-518490,-518090,2074,2074,0 +2356,chaos,-520364,-518920,-519120,-518720,1444,1444,0 +2357,chaos,-520364,-524000,-524200,-523800,3636,-3636,0 +2358,chaos,-520364,-520630,-520830,-520430,266,-266,0.325 +2359,chaos,-520364,-515450,-515650,-515250,4914,4914,0 +2360,chaos,-520364,-523580,-523780,-523380,3216,-3216,0 +2361,chaos,-520364,-519320,-519520,-519120,1044,1044,0 +2362,chaos,-520364,-524630,-524830,-524430,4266,-4266,0 +2363,chaos,-520364,-521800,-522000,-521600,1436,-1436,0 +2364,chaos,-520364,-518290,-518490,-518090,2074,2074,0 +2365,chaos,-520364,-518550,-518750,-518350,1814,1814,0 +2366,chaos,-520364,-517320,-517520,-517120,3044,3044,0 +2367,chaos,-520364,-519860,-520060,-519660,504,504,0 +2368,chaos,-520364,-525010,-525210,-524810,4646,-4646,0 +2369,chaos,-520364,-516370,-516570,-516170,3994,3994,0 +2370,chaos,-520364,-516460,-516660,-516260,3904,3904,0 +2371,chaos,-520364,-518340,-518540,-518140,2024,2024,0 +2372,chaos,-520364,-518570,-518770,-518370,1794,1794,0 +2373,chaos,-520364,-521460,-521660,-521260,1096,-1096,0 +2374,chaos,-520364,-522840,-523040,-522640,2476,-2476,0 +2375,chaos,-520364,-522720,-522920,-522520,2356,-2356,0 +2376,chaos,-520364,-524340,-524540,-524140,3976,-3976,0 +2377,chaos,-520364,-524520,-524720,-524320,4156,-4156,0 +2378,chaos,-520364,-518250,-518450,-518050,2114,2114,0 +2379,chaos,-520364,-523740,-523940,-523540,3376,-3376,0 +2380,chaos,-520364,-515550,-515750,-515350,4814,4814,0 +2381,chaos,-520364,-517770,-517970,-517570,2594,2594,0 +2382,chaos,-520364,-523160,-523360,-522960,2796,-2796,0 +2383,chaos,-520364,-522690,-522890,-522490,2326,-2326,0 +2384,chaos,-520364,-516100,-516300,-515900,4264,4264,0 +2385,chaos,-520364,-521910,-522110,-521710,1546,-1546,0 +2386,chaos,-520364,-522120,-522320,-521920,1756,-1756,0 +2387,chaos,-520364,-515720,-515920,-515520,4644,4644,0 +2388,chaos,-520364,-515570,-515770,-515370,4794,4794,0 +2389,chaos,-520364,-521670,-521870,-521470,1306,-1306,0 +2390,chaos,-520364,-521300,-521500,-521100,936,-936,0 +2391,chaos,-520364,-520120,-520320,-519920,244,244,0.4 +2392,chaos,-520364,-523330,-523530,-523130,2966,-2966,0 +2393,chaos,-520364,-524570,-524770,-524370,4206,-4206,0 +2394,chaos,-520364,-515560,-515760,-515360,4804,4804,0 +2395,chaos,-520364,-520920,-521120,-520720,556,-556,0 +2396,chaos,-520364,-523200,-523400,-523000,2836,-2836,0 +2397,chaos,-520364,-518550,-518750,-518350,1814,1814,0 +2398,chaos,-520364,-522060,-522260,-521860,1696,-1696,0 +2399,chaos,-520364,-516250,-516450,-516050,4114,4114,0 +2400,chaos,-520364,-520180,-520380,-519980,184,184,0.55 +2401,chaos,-520364,-520690,-520890,-520490,326,-326,0.175 +2402,chaos,-520364,-524700,-524900,-524500,4336,-4336,0 +2403,chaos,-520364,-519510,-519710,-519310,854,854,0 +2404,chaos,-520364,-518060,-518260,-517860,2304,2304,0 +2405,chaos,-520364,-524950,-525150,-524750,4586,-4586,0 +2406,chaos,-520364,-518090,-518290,-517890,2274,2274,0 +2407,chaos,-520364,-524080,-524280,-523880,3716,-3716,0 +2408,chaos,-520364,-517850,-518050,-517650,2514,2514,0 +2409,chaos,-520364,-525320,-525520,-525120,4956,-4956,0 +2410,chaos,-520364,-523840,-524040,-523640,3476,-3476,0 +2411,chaos,-520364,-521070,-521270,-520870,706,-706,0 +2412,chaos,-520364,-521760,-521960,-521560,1396,-1396,0 +2413,chaos,-520364,-517440,-517640,-517240,2924,2924,0 +2414,chaos,-520364,-520630,-520830,-520430,266,-266,0.325 +2415,chaos,-520364,-522540,-522740,-522340,2176,-2176,0 +2416,chaos,-520364,-520670,-520870,-520470,306,-306,0.225 +2417,chaos,-520364,-517570,-517770,-517370,2794,2794,0 +2418,chaos,-520364,-522620,-522820,-522420,2256,-2256,0 +2419,chaos,-520364,-518150,-518350,-517950,2214,2214,0 +2420,chaos,-520364,-523760,-523960,-523560,3396,-3396,0 +2421,chaos,-520364,-516440,-516640,-516240,3924,3924,0 +2422,chaos,-520364,-519090,-519290,-518890,1274,1274,0 +2423,chaos,-520364,-519120,-519320,-518920,1244,1244,0 +2424,chaos,-520364,-521640,-521840,-521440,1276,-1276,0 +2425,chaos,-520364,-525000,-525200,-524800,4636,-4636,0 +2426,chaos,-520364,-518560,-518760,-518360,1804,1804,0 +2427,chaos,-520364,-517440,-517640,-517240,2924,2924,0 +2428,chaos,-520364,-515660,-515860,-515460,4704,4704,0 +2429,chaos,-520364,-521510,-521710,-521310,1146,-1146,0 +2430,chaos,-520364,-521670,-521870,-521470,1306,-1306,0 +2431,chaos,-520364,-516850,-517050,-516650,3514,3514,0 +2432,chaos,-520364,-524150,-524350,-523950,3786,-3786,0 +2433,chaos,-520364,-519090,-519290,-518890,1274,1274,0 +2434,chaos,-520364,-519840,-520040,-519640,524,524,0 +2435,chaos,-520364,-517310,-517510,-517110,3054,3054,0 +2436,chaos,-520364,-521040,-521240,-520840,676,-676,0 +2437,chaos,-520364,-515560,-515760,-515360,4804,4804,0 +2438,chaos,-520364,-518140,-518340,-517940,2224,2224,0 +2439,chaos,-520364,-516510,-516710,-516310,3854,3854,0 +2440,chaos,-520364,-524070,-524270,-523870,3706,-3706,0 +2441,chaos,-520364,-516580,-516780,-516380,3784,3784,0 +2442,chaos,-520364,-522790,-522990,-522590,2426,-2426,0 +2443,chaos,-520364,-522270,-522470,-522070,1906,-1906,0 +2444,chaos,-520364,-515930,-516130,-515730,4434,4434,0 +2445,chaos,-520364,-515840,-516040,-515640,4524,4524,0 +2446,chaos,-520364,-516940,-517140,-516740,3424,3424,0 +2447,chaos,-520364,-522390,-522590,-522190,2026,-2026,0 +2448,chaos,-520364,-516220,-516420,-516020,4144,4144,0 +2449,chaos,-520364,-516600,-516800,-516400,3764,3764,0 +2450,chaos,-520364,-523210,-523410,-523010,2846,-2846,0 +2451,chaos,-520364,-517130,-517330,-516930,3234,3234,0 +2452,chaos,-520364,-517890,-518090,-517690,2474,2474,0 +2453,chaos,-520364,-519790,-519990,-519590,574,574,0 +2454,chaos,-520364,-521540,-521740,-521340,1176,-1176,0 +2455,chaos,-520364,-523650,-523850,-523450,3286,-3286,0 +2456,chaos,-520364,-523680,-523880,-523480,3316,-3316,0 +2457,chaos,-520364,-521690,-521890,-521490,1326,-1326,0 +2458,chaos,-520364,-521400,-521600,-521200,1036,-1036,0 +2459,chaos,-520364,-522550,-522750,-522350,2186,-2186,0 +2460,chaos,-520364,-520010,-520210,-519810,354,354,0.125 +2461,chaos,-520364,-516740,-516940,-516540,3624,3624,0 +2462,chaos,-520364,-523710,-523910,-523510,3346,-3346,0 +2463,chaos,-520364,-518650,-518850,-518450,1714,1714,0 +2464,chaos,-520364,-519540,-519740,-519340,824,824,0 +2465,chaos,-520364,-518080,-518280,-517880,2284,2284,0 +2466,chaos,-520364,-525080,-525280,-524880,4716,-4716,0 +2467,chaos,-520364,-517000,-517200,-516800,3364,3364,0 +2468,chaos,-520364,-524520,-524720,-524320,4156,-4156,0 +2469,chaos,-520364,-520750,-520950,-520550,386,-386,0.025 +2470,chaos,-520364,-515500,-515700,-515300,4864,4864,0 +2471,chaos,-520364,-522350,-522550,-522150,1986,-1986,0 +2472,chaos,-520364,-518110,-518310,-517910,2254,2254,0 +2473,chaos,-520364,-517610,-517810,-517410,2754,2754,0 +2474,chaos,-520364,-516920,-517120,-516720,3444,3444,0 +2475,chaos,-520364,-518060,-518260,-517860,2304,2304,0 +2476,chaos,-520364,-525300,-525500,-525100,4936,-4936,0 +2477,chaos,-520364,-517760,-517960,-517560,2604,2604,0 +2478,chaos,-520364,-520860,-521060,-520660,496,-496,0 +2479,chaos,-520364,-524120,-524320,-523920,3756,-3756,0 +2480,chaos,-520364,-525080,-525280,-524880,4716,-4716,0 +2481,chaos,-520364,-518010,-518210,-517810,2354,2354,0 +2482,chaos,-520364,-520810,-521010,-520610,446,-446,0 +2483,chaos,-520364,-518710,-518910,-518510,1654,1654,0 +2484,chaos,-520364,-515620,-515820,-515420,4744,4744,0 +2485,chaos,-520364,-516910,-517110,-516710,3454,3454,0 +2486,chaos,-520364,-522310,-522510,-522110,1946,-1946,0 +2487,chaos,-520364,-522030,-522230,-521830,1666,-1666,0 +2488,chaos,-520364,-516040,-516240,-515840,4324,4324,0 +2489,chaos,-520364,-521370,-521570,-521170,1006,-1006,0 +2490,chaos,-520364,-522890,-523090,-522690,2526,-2526,0 +2491,chaos,-520364,-520920,-521120,-520720,556,-556,0 +2492,chaos,-520364,-524970,-525170,-524770,4606,-4606,0 +2493,chaos,-520364,-525310,-525510,-525110,4946,-4946,0 +2494,chaos,-520364,-524120,-524320,-523920,3756,-3756,0 +2495,chaos,-520364,-519480,-519680,-519280,884,884,0 +2496,chaos,-520364,-521560,-521760,-521360,1196,-1196,0 +2497,chaos,-520364,-519790,-519990,-519590,574,574,0 +2498,chaos,-520364,-521840,-522040,-521640,1476,-1476,0 +2499,chaos,-520364,-523080,-523280,-522880,2716,-2716,0 +2500,chaos,-520364,-517540,-517740,-517340,2824,2824,0 +2501,chaos,-520364,-525330,-525530,-525130,4966,-4966,0 +2502,chaos,-520364,-519860,-520060,-519660,504,504,0 +2503,chaos,-520364,-521330,-521530,-521130,966,-966,0 +2504,chaos,-520364,-519590,-519790,-519390,774,774,0 +2505,chaos,-520364,-522200,-522400,-522000,1836,-1836,0 +2506,chaos,-520364,-521740,-521940,-521540,1376,-1376,0 +2507,chaos,-520364,-522260,-522460,-522060,1896,-1896,0 +2508,chaos,-520364,-518730,-518930,-518530,1634,1634,0 +2509,chaos,-520364,-522240,-522440,-522040,1876,-1876,0 +2510,chaos,-520364,-520010,-520210,-519810,354,354,0.125 +2511,chaos,-520364,-525260,-525460,-525060,4896,-4896,0 +2512,chaos,-520364,-516190,-516390,-515990,4174,4174,0 +2513,chaos,-520364,-519830,-520030,-519630,534,534,0 +2514,chaos,-520364,-523720,-523920,-523520,3356,-3356,0 +2515,chaos,-520364,-524380,-524580,-524180,4016,-4016,0 +2516,chaos,-520364,-521930,-522130,-521730,1566,-1566,0 +2517,chaos,-520364,-517660,-517860,-517460,2704,2704,0 +2518,chaos,-520364,-522600,-522800,-522400,2236,-2236,0 +2519,chaos,-520364,-524690,-524890,-524490,4326,-4326,0 +2520,chaos,-520364,-519390,-519590,-519190,974,974,0 +2521,chaos,-520364,-521440,-521640,-521240,1076,-1076,0 +2522,chaos,-520364,-523730,-523930,-523530,3366,-3366,0 +2523,chaos,-520364,-515990,-516190,-515790,4374,4374,0 +2524,chaos,-520364,-520630,-520830,-520430,266,-266,0.325 +2525,chaos,-520364,-523010,-523210,-522810,2646,-2646,0 +2526,chaos,-520364,-522450,-522650,-522250,2086,-2086,0 +2527,chaos,-520364,-519370,-519570,-519170,994,994,0 +2528,chaos,-520364,-515980,-516180,-515780,4384,4384,0 +2529,chaos,-520364,-517490,-517690,-517290,2874,2874,0 +2530,chaos,-520364,-521260,-521460,-521060,896,-896,0 +2531,chaos,-520364,-516870,-517070,-516670,3494,3494,0 +2532,chaos,-520364,-519740,-519940,-519540,624,624,0 +2533,chaos,-520364,-522430,-522630,-522230,2066,-2066,0 +2534,chaos,-520364,-523000,-523200,-522800,2636,-2636,0 +2535,chaos,-520364,-518040,-518240,-517840,2324,2324,0 +2536,chaos,-520364,-522740,-522940,-522540,2376,-2376,0 +2537,chaos,-520364,-521970,-522170,-521770,1606,-1606,0 +2538,chaos,-520364,-519550,-519750,-519350,814,814,0 +2539,chaos,-520364,-521880,-522080,-521680,1516,-1516,0 +2540,chaos,-520364,-517400,-517600,-517200,2964,2964,0 +2541,chaos,-520364,-523890,-524090,-523690,3526,-3526,0 +2542,chaos,-520364,-517350,-517550,-517150,3014,3014,0 +2543,chaos,-520364,-520930,-521130,-520730,566,-566,0 +2544,chaos,-520364,-523410,-523610,-523210,3046,-3046,0 +2545,chaos,-520364,-515470,-515670,-515270,4894,4894,0 +2546,chaos,-520364,-520550,-520750,-520350,186,-186,0.525 +2547,chaos,-520364,-517260,-517460,-517060,3104,3104,0 +2548,chaos,-520364,-517580,-517780,-517380,2784,2784,0 +2549,chaos,-520364,-520180,-520380,-519980,184,184,0.55 +2550,chaos,-520364,-524050,-524250,-523850,3686,-3686,0 +2551,chaos,-520364,-519400,-519600,-519200,964,964,0 +2552,chaos,-520364,-525350,-525550,-525150,4986,-4986,0 +2553,chaos,-520364,-519540,-519740,-519340,824,824,0 +2554,chaos,-520364,-524320,-524520,-524120,3956,-3956,0 +2555,chaos,-520364,-523610,-523810,-523410,3246,-3246,0 +2556,chaos,-520364,-524270,-524470,-524070,3906,-3906,0 +2557,chaos,-520364,-517440,-517640,-517240,2924,2924,0 +2558,chaos,-520364,-524740,-524940,-524540,4376,-4376,0 +2559,chaos,-520364,-522050,-522250,-521850,1686,-1686,0 +2560,chaos,-520364,-524080,-524280,-523880,3716,-3716,0 +2561,chaos,-520364,-524980,-525180,-524780,4616,-4616,0 +2562,chaos,-520364,-519070,-519270,-518870,1294,1294,0 +2563,chaos,-520364,-522750,-522950,-522550,2386,-2386,0 +2564,chaos,-520364,-522530,-522730,-522330,2166,-2166,0 +2565,chaos,-520364,-519540,-519740,-519340,824,824,0 +2566,chaos,-520364,-519620,-519820,-519420,744,744,0 +2567,chaos,-520364,-521100,-521300,-520900,736,-736,0 +2568,chaos,-520364,-521670,-521870,-521470,1306,-1306,0 +2569,chaos,-520364,-525100,-525300,-524900,4736,-4736,0 +2570,chaos,-520364,-522720,-522920,-522520,2356,-2356,0 +2571,chaos,-520364,-519070,-519270,-518870,1294,1294,0 +2572,chaos,-520364,-523560,-523760,-523360,3196,-3196,0 +2573,chaos,-520364,-516270,-516470,-516070,4094,4094,0 +2574,chaos,-520364,-519950,-520150,-519750,414,414,0 +2575,chaos,-520364,-516180,-516380,-515980,4184,4184,0 +2576,chaos,-520364,-524930,-525130,-524730,4566,-4566,0 +2577,chaos,-520364,-519460,-519660,-519260,904,904,0 +2578,chaos,-520364,-524330,-524530,-524130,3966,-3966,0 +2579,chaos,-520364,-516940,-517140,-516740,3424,3424,0 +2580,chaos,-520364,-515670,-515870,-515470,4694,4694,0 +2581,chaos,-520364,-516440,-516640,-516240,3924,3924,0 +2582,chaos,-520364,-516600,-516800,-516400,3764,3764,0 +2583,chaos,-520364,-525090,-525290,-524890,4726,-4726,0 +2584,chaos,-520364,-516290,-516490,-516090,4074,4074,0 +2585,chaos,-520364,-516640,-516840,-516440,3724,3724,0 +2586,chaos,-520364,-516570,-516770,-516370,3794,3794,0 +2587,chaos,-520364,-518280,-518480,-518080,2084,2084,0 +2588,chaos,-520364,-525130,-525330,-524930,4766,-4766,0 +2589,chaos,-520364,-520440,-520640,-520240,76,-76,0.8 +2590,chaos,-520364,-521280,-521480,-521080,916,-916,0 +2591,chaos,-520364,-518480,-518680,-518280,1884,1884,0 +2592,chaos,-520364,-517350,-517550,-517150,3014,3014,0 +2593,chaos,-520364,-517430,-517630,-517230,2934,2934,0 +2594,chaos,-520364,-524110,-524310,-523910,3746,-3746,0 +2595,chaos,-520364,-521980,-522180,-521780,1616,-1616,0 +2596,chaos,-520364,-523660,-523860,-523460,3296,-3296,0 +2597,chaos,-520364,-517130,-517330,-516930,3234,3234,0 +2598,chaos,-520364,-518960,-519160,-518760,1404,1404,0 +2599,chaos,-520364,-520580,-520780,-520380,216,-216,0.45 +2600,chaos,-520364,-517490,-517690,-517290,2874,2874,0 +2601,chaos,-520364,-521890,-522090,-521690,1526,-1526,0 +2602,chaos,-520364,-522870,-523070,-522670,2506,-2506,0 +2603,chaos,-520364,-518950,-519150,-518750,1414,1414,0 +2604,chaos,-520364,-522350,-522550,-522150,1986,-1986,0 +2605,chaos,-520364,-515710,-515910,-515510,4654,4654,0 +2606,chaos,-520364,-522350,-522550,-522150,1986,-1986,0 +2607,chaos,-520364,-522250,-522450,-522050,1886,-1886,0 +2608,chaos,-520364,-515690,-515890,-515490,4674,4674,0 +2609,chaos,-520364,-525100,-525300,-524900,4736,-4736,0 +2610,chaos,-520364,-518650,-518850,-518450,1714,1714,0 +2611,chaos,-520364,-520720,-520920,-520520,356,-356,0.1 +2612,chaos,-520364,-518450,-518650,-518250,1914,1914,0 +2613,chaos,-520364,-516980,-517180,-516780,3384,3384,0 +2614,chaos,-520364,-523310,-523510,-523110,2946,-2946,0 +2615,chaos,-520364,-518820,-519020,-518620,1544,1544,0 +2616,chaos,-520364,-523610,-523810,-523410,3246,-3246,0 +2617,chaos,-520364,-522930,-523130,-522730,2566,-2566,0 +2618,chaos,-520364,-522850,-523050,-522650,2486,-2486,0 +2619,chaos,-520364,-525350,-525550,-525150,4986,-4986,0 +2620,chaos,-520364,-522960,-523160,-522760,2596,-2596,0 +2621,chaos,-520364,-515730,-515930,-515530,4634,4634,0 +2622,chaos,-520364,-515740,-515940,-515540,4624,4624,0 +2623,chaos,-520364,-518750,-518950,-518550,1614,1614,0 +2624,chaos,-520364,-524610,-524810,-524410,4246,-4246,0 +2625,chaos,-520364,-524730,-524930,-524530,4366,-4366,0 +2626,chaos,-520364,-522390,-522590,-522190,2026,-2026,0 +2627,chaos,-520364,-518680,-518880,-518480,1684,1684,0 +2628,chaos,-520364,-522660,-522860,-522460,2296,-2296,0 +2629,chaos,-520364,-517540,-517740,-517340,2824,2824,0 +2630,chaos,-520364,-518730,-518930,-518530,1634,1634,0 +2631,chaos,-520364,-519920,-520120,-519720,444,444,0 +2632,chaos,-520364,-522490,-522690,-522290,2126,-2126,0 +2633,chaos,-520364,-517990,-518190,-517790,2374,2374,0 +2634,chaos,-520364,-516740,-516940,-516540,3624,3624,0 +2635,chaos,-520364,-524670,-524870,-524470,4306,-4306,0 +2636,chaos,-520364,-524510,-524710,-524310,4146,-4146,0 +2637,chaos,-520364,-519930,-520130,-519730,434,434,0 +2638,chaos,-520364,-519120,-519320,-518920,1244,1244,0 +2639,chaos,-520364,-524910,-525110,-524710,4546,-4546,0 +2640,chaos,-520364,-521480,-521680,-521280,1116,-1116,0 +2641,chaos,-520364,-516470,-516670,-516270,3894,3894,0 +2642,chaos,-520364,-520220,-520420,-520020,144,144,0.65 +2643,chaos,-520364,-520760,-520960,-520560,396,-396,0 +2644,chaos,-520364,-517540,-517740,-517340,2824,2824,0 +2645,chaos,-520364,-524350,-524550,-524150,3986,-3986,0 +2646,chaos,-520364,-517320,-517520,-517120,3044,3044,0 +2647,chaos,-520364,-517770,-517970,-517570,2594,2594,0 +2648,chaos,-520364,-524510,-524710,-524310,4146,-4146,0 +2649,chaos,-520364,-515490,-515690,-515290,4874,4874,0 +2650,chaos,-520364,-518020,-518220,-517820,2344,2344,0 +2651,chaos,-520364,-518310,-518510,-518110,2054,2054,0 +2652,chaos,-520364,-523370,-523570,-523170,3006,-3006,0 +2653,chaos,-520364,-517730,-517930,-517530,2634,2634,0 +2654,chaos,-520364,-524780,-524980,-524580,4416,-4416,0 +2655,chaos,-520364,-521830,-522030,-521630,1466,-1466,0 +2656,chaos,-520364,-523780,-523980,-523580,3416,-3416,0 +2657,chaos,-520364,-521020,-521220,-520820,656,-656,0 +2658,chaos,-520364,-521910,-522110,-521710,1546,-1546,0 +2659,chaos,-520364,-516480,-516680,-516280,3884,3884,0 +2660,chaos,-520364,-517750,-517950,-517550,2614,2614,0 +2661,chaos,-520364,-523310,-523510,-523110,2946,-2946,0 +2662,chaos,-520364,-515800,-516000,-515600,4564,4564,0 +2663,chaos,-520364,-516040,-516240,-515840,4324,4324,0 +2664,chaos,-520364,-523020,-523220,-522820,2656,-2656,0 +2665,chaos,-520364,-522020,-522220,-521820,1656,-1656,0 +2666,chaos,-520364,-519720,-519920,-519520,644,644,0 +2667,chaos,-520364,-518470,-518670,-518270,1894,1894,0 +2668,chaos,-520364,-516300,-516500,-516100,4064,4064,0 +2669,chaos,-520364,-520580,-520780,-520380,216,-216,0.45 +2670,chaos,-520364,-518950,-519150,-518750,1414,1414,0 +2671,chaos,-520364,-518140,-518340,-517940,2224,2224,0 +2672,chaos,-520364,-521750,-521950,-521550,1386,-1386,0 +2673,chaos,-520364,-516330,-516530,-516130,4034,4034,0 +2674,chaos,-520364,-516260,-516460,-516060,4104,4104,0 +2675,chaos,-520364,-519900,-520100,-519700,464,464,0 +2676,chaos,-520364,-523350,-523550,-523150,2986,-2986,0 +2677,chaos,-520364,-520300,-520500,-520100,64,64,0.85 +2678,chaos,-520364,-521760,-521960,-521560,1396,-1396,0 +2679,chaos,-520364,-520770,-520970,-520570,406,-406,0 +2680,chaos,-520364,-524070,-524270,-523870,3706,-3706,0 +2681,chaos,-520364,-518090,-518290,-517890,2274,2274,0 +2682,chaos,-520364,-518330,-518530,-518130,2034,2034,0 +2683,chaos,-520364,-522670,-522870,-522470,2306,-2306,0 +2684,chaos,-520364,-520100,-520300,-519900,264,264,0.35 +2685,chaos,-520364,-517370,-517570,-517170,2994,2994,0 +2686,chaos,-520364,-518290,-518490,-518090,2074,2074,0 +2687,chaos,-520364,-516180,-516380,-515980,4184,4184,0 +2688,chaos,-520364,-519480,-519680,-519280,884,884,0 +2689,chaos,-520364,-517440,-517640,-517240,2924,2924,0 +2690,chaos,-520364,-522820,-523020,-522620,2456,-2456,0 +2691,chaos,-520364,-524070,-524270,-523870,3706,-3706,0 +2692,chaos,-520364,-515460,-515660,-515260,4904,4904,0 +2693,chaos,-520364,-519510,-519710,-519310,854,854,0 +2694,chaos,-520364,-518080,-518280,-517880,2284,2284,0 +2695,chaos,-520364,-517980,-518180,-517780,2384,2384,0 +2696,chaos,-520364,-523750,-523950,-523550,3386,-3386,0 +2697,chaos,-520364,-517800,-518000,-517600,2564,2564,0 +2698,chaos,-520364,-517300,-517500,-517100,3064,3064,0 +2699,chaos,-520364,-517550,-517750,-517350,2814,2814,0 +2700,chaos,-520364,-520080,-520280,-519880,284,284,0.3 +2701,chaos,-520364,-522490,-522690,-522290,2126,-2126,0 +2702,chaos,-520364,-520850,-521050,-520650,486,-486,0 +2703,chaos,-520364,-523830,-524030,-523630,3466,-3466,0 +2704,chaos,-520364,-521330,-521530,-521130,966,-966,0 +2705,chaos,-520364,-521190,-521390,-520990,826,-826,0 +2706,chaos,-520364,-515860,-516060,-515660,4504,4504,0 +2707,chaos,-520364,-523520,-523720,-523320,3156,-3156,0 +2708,chaos,-520364,-520820,-521020,-520620,456,-456,0 +2709,chaos,-520364,-523620,-523820,-523420,3256,-3256,0 +2710,chaos,-520364,-519560,-519760,-519360,804,804,0 +2711,chaos,-520364,-519520,-519720,-519320,844,844,0 +2712,chaos,-520364,-518500,-518700,-518300,1864,1864,0 +2713,chaos,-520364,-516290,-516490,-516090,4074,4074,0 +2714,chaos,-520364,-516700,-516900,-516500,3664,3664,0 +2715,chaos,-520364,-522300,-522500,-522100,1936,-1936,0 +2716,chaos,-520364,-521450,-521650,-521250,1086,-1086,0 +2717,chaos,-520364,-518330,-518530,-518130,2034,2034,0 +2718,chaos,-520364,-516170,-516370,-515970,4194,4194,0 +2719,chaos,-520364,-520450,-520650,-520250,86,-86,0.775 +2720,chaos,-520364,-525350,-525550,-525150,4986,-4986,0 +2721,chaos,-520364,-520290,-520490,-520090,74,74,0.825 +2722,chaos,-520364,-520690,-520890,-520490,326,-326,0.175 +2723,chaos,-520364,-521450,-521650,-521250,1086,-1086,0 +2724,chaos,-520364,-523270,-523470,-523070,2906,-2906,0 +2725,chaos,-520364,-522410,-522610,-522210,2046,-2046,0 +2726,chaos,-520364,-520360,-520560,-520160,4,4,1 +2727,chaos,-520364,-522900,-523100,-522700,2536,-2536,0 +2728,chaos,-520364,-517550,-517750,-517350,2814,2814,0 +2729,chaos,-520364,-520580,-520780,-520380,216,-216,0.45 +2730,chaos,-520364,-515720,-515920,-515520,4644,4644,0 +2731,chaos,-520364,-519750,-519950,-519550,614,614,0 +2732,chaos,-520364,-520460,-520660,-520260,96,-96,0.75 +2733,chaos,-520364,-519590,-519790,-519390,774,774,0 +2734,chaos,-520364,-525290,-525490,-525090,4926,-4926,0 +2735,chaos,-520364,-523830,-524030,-523630,3466,-3466,0 +2736,chaos,-520364,-519660,-519860,-519460,704,704,0 +2737,chaos,-520364,-525300,-525500,-525100,4936,-4936,0 +2738,chaos,-520364,-517670,-517870,-517470,2694,2694,0 +2739,chaos,-520364,-525330,-525530,-525130,4966,-4966,0 +2740,chaos,-520364,-520730,-520930,-520530,366,-366,0.075 +2741,chaos,-520364,-523510,-523710,-523310,3146,-3146,0 +2742,chaos,-520364,-517430,-517630,-517230,2934,2934,0 +2743,chaos,-520364,-516500,-516700,-516300,3864,3864,0 +2744,chaos,-520364,-524020,-524220,-523820,3656,-3656,0 +2745,chaos,-520364,-519440,-519640,-519240,924,924,0 +2746,chaos,-520364,-521350,-521550,-521150,986,-986,0 +2747,chaos,-520364,-524420,-524620,-524220,4056,-4056,0 +2748,chaos,-520364,-521190,-521390,-520990,826,-826,0 +2749,chaos,-520364,-523250,-523450,-523050,2886,-2886,0 +2750,chaos,-520364,-523840,-524040,-523640,3476,-3476,0 +2751,chaos,-520364,-521590,-521790,-521390,1226,-1226,0 +2752,chaos,-520364,-516650,-516850,-516450,3714,3714,0 +2753,chaos,-520364,-522820,-523020,-522620,2456,-2456,0 +2754,chaos,-520364,-518200,-518400,-518000,2164,2164,0 +2755,chaos,-520364,-524790,-524990,-524590,4426,-4426,0 +2756,chaos,-520364,-524770,-524970,-524570,4406,-4406,0 +2757,chaos,-520364,-519150,-519350,-518950,1214,1214,0 +2758,chaos,-520364,-515490,-515690,-515290,4874,4874,0 +2759,chaos,-520364,-517500,-517700,-517300,2864,2864,0 +2760,chaos,-520364,-516980,-517180,-516780,3384,3384,0 +2761,chaos,-520364,-517940,-518140,-517740,2424,2424,0 +2762,chaos,-520364,-524180,-524380,-523980,3816,-3816,0 +2763,chaos,-520364,-521180,-521380,-520980,816,-816,0 +2764,chaos,-520364,-520670,-520870,-520470,306,-306,0.225 +2765,chaos,-520364,-523500,-523700,-523300,3136,-3136,0 +2766,chaos,-520364,-517300,-517500,-517100,3064,3064,0 +2767,chaos,-520364,-522800,-523000,-522600,2436,-2436,0 +2768,chaos,-520364,-522100,-522300,-521900,1736,-1736,0 +2769,chaos,-520364,-520270,-520470,-520070,94,94,0.775 +2770,chaos,-520364,-517210,-517410,-517010,3154,3154,0 +2771,chaos,-520364,-521000,-521200,-520800,636,-636,0 +2772,chaos,-520364,-518970,-519170,-518770,1394,1394,0 +2773,chaos,-520364,-517970,-518170,-517770,2394,2394,0 +2774,chaos,-520364,-524150,-524350,-523950,3786,-3786,0 +2775,chaos,-520364,-521720,-521920,-521520,1356,-1356,0 +2776,chaos,-520364,-517300,-517500,-517100,3064,3064,0 +2777,chaos,-520364,-519940,-520140,-519740,424,424,0 +2778,chaos,-520364,-524680,-524880,-524480,4316,-4316,0 +2779,chaos,-520364,-518250,-518450,-518050,2114,2114,0 +2780,chaos,-520364,-524130,-524330,-523930,3766,-3766,0 +2781,chaos,-520364,-522960,-523160,-522760,2596,-2596,0 +2782,chaos,-520364,-522600,-522800,-522400,2236,-2236,0 +2783,chaos,-520364,-518850,-519050,-518650,1514,1514,0 +2784,chaos,-520364,-521840,-522040,-521640,1476,-1476,0 +2785,chaos,-520364,-523300,-523500,-523100,2936,-2936,0 +2786,chaos,-520364,-515600,-515800,-515400,4764,4764,0 +2787,chaos,-520364,-520190,-520390,-519990,174,174,0.575 +2788,chaos,-520364,-523590,-523790,-523390,3226,-3226,0 +2789,chaos,-520364,-522110,-522310,-521910,1746,-1746,0 +2790,chaos,-520364,-524650,-524850,-524450,4286,-4286,0 +2791,chaos,-520364,-515670,-515870,-515470,4694,4694,0 +2792,chaos,-520364,-525140,-525340,-524940,4776,-4776,0 +2793,chaos,-520364,-523690,-523890,-523490,3326,-3326,0 +2794,chaos,-520364,-522280,-522480,-522080,1916,-1916,0 +2795,chaos,-520364,-521840,-522040,-521640,1476,-1476,0 +2796,chaos,-520364,-517840,-518040,-517640,2524,2524,0 +2797,chaos,-520364,-523390,-523590,-523190,3026,-3026,0 +2798,chaos,-520364,-518140,-518340,-517940,2224,2224,0 +2799,chaos,-520364,-523370,-523570,-523170,3006,-3006,0 +2800,chaos,-520364,-525020,-525220,-524820,4656,-4656,0 +2801,chaos,-520364,-516260,-516460,-516060,4104,4104,0 +2802,chaos,-520364,-523840,-524040,-523640,3476,-3476,0 +2803,chaos,-520364,-517280,-517480,-517080,3084,3084,0 +2804,chaos,-520364,-518080,-518280,-517880,2284,2284,0 +2805,chaos,-520364,-515640,-515840,-515440,4724,4724,0 +2806,chaos,-520364,-521540,-521740,-521340,1176,-1176,0 +2807,chaos,-520364,-522380,-522580,-522180,2016,-2016,0 +2808,chaos,-520364,-516640,-516840,-516440,3724,3724,0 +2809,chaos,-520364,-519630,-519830,-519430,734,734,0 +2810,chaos,-520364,-521300,-521500,-521100,936,-936,0 +2811,chaos,-520364,-521220,-521420,-521020,856,-856,0 +2812,chaos,-520364,-519890,-520090,-519690,474,474,0 +2813,chaos,-520364,-525250,-525450,-525050,4886,-4886,0 +2814,chaos,-520364,-520300,-520500,-520100,64,64,0.85 +2815,chaos,-520364,-521380,-521580,-521180,1016,-1016,0 +2816,chaos,-520364,-515530,-515730,-515330,4834,4834,0 +2817,chaos,-520364,-523040,-523240,-522840,2676,-2676,0 +2818,chaos,-520364,-517910,-518110,-517710,2454,2454,0 +2819,chaos,-520364,-516490,-516690,-516290,3874,3874,0 +2820,chaos,-520364,-525270,-525470,-525070,4906,-4906,0 +2821,chaos,-520364,-523860,-524060,-523660,3496,-3496,0 +2822,chaos,-520364,-521140,-521340,-520940,776,-776,0 +2823,chaos,-520364,-524960,-525160,-524760,4596,-4596,0 +2824,chaos,-520364,-520180,-520380,-519980,184,184,0.55 +2825,chaos,-520364,-515920,-516120,-515720,4444,4444,0 +2826,chaos,-520364,-521890,-522090,-521690,1526,-1526,0 +2827,chaos,-520364,-521640,-521840,-521440,1276,-1276,0 +2828,chaos,-520364,-521390,-521590,-521190,1026,-1026,0 +2829,chaos,-520364,-516240,-516440,-516040,4124,4124,0 +2830,chaos,-520364,-521610,-521810,-521410,1246,-1246,0 +2831,chaos,-520364,-520770,-520970,-520570,406,-406,0 +2832,chaos,-520364,-515710,-515910,-515510,4654,4654,0 +2833,chaos,-520364,-519890,-520090,-519690,474,474,0 +2834,chaos,-520364,-517050,-517250,-516850,3314,3314,0 +2835,chaos,-520364,-523010,-523210,-522810,2646,-2646,0 +2836,chaos,-520364,-515990,-516190,-515790,4374,4374,0 +2837,chaos,-520364,-519260,-519460,-519060,1104,1104,0 +2838,chaos,-520364,-519470,-519670,-519270,894,894,0 +2839,chaos,-520364,-515410,-515610,-515210,4954,4954,0 +2840,chaos,-520364,-518410,-518610,-518210,1954,1954,0 +2841,chaos,-520364,-520700,-520900,-520500,336,-336,0.15 +2842,chaos,-520364,-524220,-524420,-524020,3856,-3856,0 +2843,chaos,-520364,-517790,-517990,-517590,2574,2574,0 +2844,chaos,-520364,-515620,-515820,-515420,4744,4744,0 +2845,chaos,-520364,-519020,-519220,-518820,1344,1344,0 +2846,chaos,-520364,-519920,-520120,-519720,444,444,0 +2847,chaos,-520364,-524450,-524650,-524250,4086,-4086,0 +2848,chaos,-520364,-518710,-518910,-518510,1654,1654,0 +2849,chaos,-520364,-518760,-518960,-518560,1604,1604,0 +2850,chaos,-520364,-516170,-516370,-515970,4194,4194,0 +2851,chaos,-520364,-520260,-520460,-520060,104,104,0.75 +2852,chaos,-520364,-520670,-520870,-520470,306,-306,0.225 +2853,chaos,-520364,-523340,-523540,-523140,2976,-2976,0 +2854,chaos,-520364,-523330,-523530,-523130,2966,-2966,0 +2855,chaos,-520364,-522470,-522670,-522270,2106,-2106,0 +2856,chaos,-520364,-519190,-519390,-518990,1174,1174,0 +2857,chaos,-520364,-520600,-520800,-520400,236,-236,0.4 +2858,chaos,-520364,-525160,-525360,-524960,4796,-4796,0 +2859,chaos,-520364,-516890,-517090,-516690,3474,3474,0 +2860,chaos,-520364,-517750,-517950,-517550,2614,2614,0 +2861,chaos,-520364,-523590,-523790,-523390,3226,-3226,0 +2862,chaos,-520364,-517760,-517960,-517560,2604,2604,0 +2863,chaos,-520364,-518160,-518360,-517960,2204,2204,0 +2864,chaos,-520364,-520120,-520320,-519920,244,244,0.4 +2865,chaos,-520364,-516170,-516370,-515970,4194,4194,0 +2866,chaos,-520364,-516070,-516270,-515870,4294,4294,0 +2867,chaos,-520364,-520250,-520450,-520050,114,114,0.725 +2868,chaos,-520364,-520430,-520630,-520230,66,-66,0.825 +2869,chaos,-520364,-517220,-517420,-517020,3144,3144,0 +2870,chaos,-520364,-524370,-524570,-524170,4006,-4006,0 +2871,chaos,-520364,-523470,-523670,-523270,3106,-3106,0 +2872,chaos,-520364,-521250,-521450,-521050,886,-886,0 +2873,chaos,-520364,-515670,-515870,-515470,4694,4694,0 +2874,chaos,-520364,-519920,-520120,-519720,444,444,0 +2875,chaos,-520364,-518360,-518560,-518160,2004,2004,0 +2876,chaos,-520364,-519080,-519280,-518880,1284,1284,0 +2877,chaos,-520364,-518530,-518730,-518330,1834,1834,0 +2878,chaos,-520364,-523800,-524000,-523600,3436,-3436,0 +2879,chaos,-520364,-520950,-521150,-520750,586,-586,0 +2880,chaos,-520364,-516760,-516960,-516560,3604,3604,0 +2881,chaos,-520364,-522760,-522960,-522560,2396,-2396,0 +2882,chaos,-520364,-520010,-520210,-519810,354,354,0.125 +2883,chaos,-520364,-517160,-517360,-516960,3204,3204,0 +2884,chaos,-520364,-522250,-522450,-522050,1886,-1886,0 +2885,chaos,-520364,-517090,-517290,-516890,3274,3274,0 +2886,chaos,-520364,-521740,-521940,-521540,1376,-1376,0 +2887,chaos,-520364,-517040,-517240,-516840,3324,3324,0 +2888,chaos,-520364,-520740,-520940,-520540,376,-376,0.05 +2889,chaos,-520364,-522370,-522570,-522170,2006,-2006,0 +2890,chaos,-520364,-517880,-518080,-517680,2484,2484,0 +2891,chaos,-520364,-518830,-519030,-518630,1534,1534,0 +2892,chaos,-520364,-516820,-517020,-516620,3544,3544,0 +2893,chaos,-520364,-519310,-519510,-519110,1054,1054,0 +2894,chaos,-520364,-524240,-524440,-524040,3876,-3876,0 +2895,chaos,-520364,-523190,-523390,-522990,2826,-2826,0 +2896,chaos,-520364,-516690,-516890,-516490,3674,3674,0 +2897,chaos,-520364,-522170,-522370,-521970,1806,-1806,0 +2898,chaos,-520364,-519180,-519380,-518980,1184,1184,0 +2899,chaos,-520364,-521960,-522160,-521760,1596,-1596,0 +2900,chaos,-520364,-521910,-522110,-521710,1546,-1546,0 +2901,chaos,-520364,-517900,-518100,-517700,2464,2464,0 +2902,chaos,-520364,-519240,-519440,-519040,1124,1124,0 +2903,chaos,-520364,-516890,-517090,-516690,3474,3474,0 +2904,chaos,-520364,-516420,-516620,-516220,3944,3944,0 +2905,chaos,-520364,-519660,-519860,-519460,704,704,0 +2906,chaos,-520364,-519220,-519420,-519020,1144,1144,0 +2907,chaos,-520364,-515870,-516070,-515670,4494,4494,0 +2908,chaos,-520364,-516190,-516390,-515990,4174,4174,0 +2909,chaos,-520364,-520640,-520840,-520440,276,-276,0.3 +2910,chaos,-520364,-522600,-522800,-522400,2236,-2236,0 +2911,chaos,-520364,-524870,-525070,-524670,4506,-4506,0 +2912,chaos,-520364,-522500,-522700,-522300,2136,-2136,0 +2913,chaos,-520364,-515790,-515990,-515590,4574,4574,0 +2914,chaos,-520364,-518620,-518820,-518420,1744,1744,0 +2915,chaos,-520364,-516450,-516650,-516250,3914,3914,0 +2916,chaos,-520364,-519380,-519580,-519180,984,984,0 +2917,chaos,-520364,-517740,-517940,-517540,2624,2624,0 +2918,chaos,-520364,-521900,-522100,-521700,1536,-1536,0 +2919,chaos,-520364,-521580,-521780,-521380,1216,-1216,0 +2920,chaos,-520364,-520780,-520980,-520580,416,-416,0 +2921,chaos,-520364,-522560,-522760,-522360,2196,-2196,0 +2922,chaos,-520364,-524530,-524730,-524330,4166,-4166,0 +2923,chaos,-520364,-519380,-519580,-519180,984,984,0 +2924,chaos,-520364,-522110,-522310,-521910,1746,-1746,0 +2925,chaos,-520364,-518600,-518800,-518400,1764,1764,0 +2926,chaos,-520364,-523070,-523270,-522870,2706,-2706,0 +2927,chaos,-520364,-522100,-522300,-521900,1736,-1736,0 +2928,chaos,-520364,-518440,-518640,-518240,1924,1924,0 +2929,chaos,-520364,-523250,-523450,-523050,2886,-2886,0 +2930,chaos,-520364,-516010,-516210,-515810,4354,4354,0 +2931,chaos,-520364,-519960,-520160,-519760,404,404,0 +2932,chaos,-520364,-523550,-523750,-523350,3186,-3186,0 +2933,chaos,-520364,-520140,-520340,-519940,224,224,0.45 +2934,chaos,-520364,-522770,-522970,-522570,2406,-2406,0 +2935,chaos,-520364,-520270,-520470,-520070,94,94,0.775 +2936,chaos,-520364,-522010,-522210,-521810,1646,-1646,0 +2937,chaos,-520364,-520530,-520730,-520330,166,-166,0.575 +2938,chaos,-520364,-520520,-520720,-520320,156,-156,0.6 +2939,chaos,-520364,-517530,-517730,-517330,2834,2834,0 +2940,chaos,-520364,-516410,-516610,-516210,3954,3954,0 +2941,chaos,-520364,-520880,-521080,-520680,516,-516,0 +2942,chaos,-520364,-520620,-520820,-520420,256,-256,0.35 +2943,chaos,-520364,-517110,-517310,-516910,3254,3254,0 +2944,chaos,-520364,-521720,-521920,-521520,1356,-1356,0 +2945,chaos,-520364,-523250,-523450,-523050,2886,-2886,0 +2946,chaos,-520364,-522200,-522400,-522000,1836,-1836,0 +2947,chaos,-520364,-521940,-522140,-521740,1576,-1576,0 +2948,chaos,-520364,-520020,-520220,-519820,344,344,0.15 +2949,chaos,-520364,-523180,-523380,-522980,2816,-2816,0 +2950,chaos,-520364,-522140,-522340,-521940,1776,-1776,0 +2951,chaos,-520364,-524140,-524340,-523940,3776,-3776,0 +2952,chaos,-520364,-521990,-522190,-521790,1626,-1626,0 +2953,chaos,-520364,-522800,-523000,-522600,2436,-2436,0 +2954,chaos,-520364,-523710,-523910,-523510,3346,-3346,0 +2955,chaos,-520364,-522050,-522250,-521850,1686,-1686,0 +2956,chaos,-520364,-522770,-522970,-522570,2406,-2406,0 +2957,chaos,-520364,-523900,-524100,-523700,3536,-3536,0 +2958,chaos,-520364,-518490,-518690,-518290,1874,1874,0 +2959,chaos,-520364,-523100,-523300,-522900,2736,-2736,0 +2960,chaos,-520364,-525050,-525250,-524850,4686,-4686,0 +2961,chaos,-520364,-516110,-516310,-515910,4254,4254,0 +2962,chaos,-520364,-517140,-517340,-516940,3224,3224,0 +2963,chaos,-520364,-523080,-523280,-522880,2716,-2716,0 +2964,chaos,-520364,-521270,-521470,-521070,906,-906,0 +2965,chaos,-520364,-523030,-523230,-522830,2666,-2666,0 +2966,chaos,-520364,-520070,-520270,-519870,294,294,0.275 +2967,chaos,-520364,-519750,-519950,-519550,614,614,0 +2968,chaos,-520364,-523840,-524040,-523640,3476,-3476,0 +2969,chaos,-520364,-520330,-520530,-520130,34,34,0.925 +2970,chaos,-520364,-524090,-524290,-523890,3726,-3726,0 +2971,chaos,-520364,-516210,-516410,-516010,4154,4154,0 +2972,chaos,-520364,-524710,-524910,-524510,4346,-4346,0 +2973,chaos,-520364,-524970,-525170,-524770,4606,-4606,0 +2974,chaos,-520364,-525140,-525340,-524940,4776,-4776,0 +2975,chaos,-520364,-515610,-515810,-515410,4754,4754,0 +2976,chaos,-520364,-519510,-519710,-519310,854,854,0 +2977,chaos,-520364,-518620,-518820,-518420,1744,1744,0 +2978,chaos,-520364,-521260,-521460,-521060,896,-896,0 +2979,chaos,-520364,-517300,-517500,-517100,3064,3064,0 +2980,chaos,-520364,-519060,-519260,-518860,1304,1304,0 +2981,chaos,-520364,-517810,-518010,-517610,2554,2554,0 +2982,chaos,-520364,-519350,-519550,-519150,1014,1014,0 +2983,chaos,-520364,-515800,-516000,-515600,4564,4564,0 +2984,chaos,-520364,-518950,-519150,-518750,1414,1414,0 +2985,chaos,-520364,-515850,-516050,-515650,4514,4514,0 +2986,chaos,-520364,-516040,-516240,-515840,4324,4324,0 +2987,chaos,-520364,-522350,-522550,-522150,1986,-1986,0 +2988,chaos,-520364,-516320,-516520,-516120,4044,4044,0 +2989,chaos,-520364,-523020,-523220,-522820,2656,-2656,0 +2990,chaos,-520364,-522870,-523070,-522670,2506,-2506,0 +2991,chaos,-520364,-518500,-518700,-518300,1864,1864,0 +2992,chaos,-520364,-524490,-524690,-524290,4126,-4126,0 +2993,chaos,-520364,-517810,-518010,-517610,2554,2554,0 +2994,chaos,-520364,-518250,-518450,-518050,2114,2114,0 +2995,chaos,-520364,-520010,-520210,-519810,354,354,0.125 +2996,chaos,-520364,-516800,-517000,-516600,3564,3564,0 +2997,chaos,-520364,-518620,-518820,-518420,1744,1744,0 +2998,chaos,-520364,-524530,-524730,-524330,4166,-4166,0 +2999,chaos,-520364,-522720,-522920,-522520,2356,-2356,0 +3000,chaos,-520364,-523670,-523870,-523470,3306,-3306,0 +3001,chaos,-520364,-516330,-516530,-516130,4034,4034,0 +3002,chaos,-520364,-519590,-519790,-519390,774,774,0 +3003,chaos,-520364,-523860,-524060,-523660,3496,-3496,0 +3004,chaos,-520364,-522510,-522710,-522310,2146,-2146,0 +3005,chaos,-520364,-516480,-516680,-516280,3884,3884,0 +3006,chaos,-520364,-518230,-518430,-518030,2134,2134,0 +3007,chaos,-520364,-524150,-524350,-523950,3786,-3786,0 +3008,chaos,-520364,-515980,-516180,-515780,4384,4384,0 +3009,chaos,-520364,-520420,-520620,-520220,56,-56,0.85 +3010,chaos,-520364,-516790,-516990,-516590,3574,3574,0 +3011,chaos,-520364,-518680,-518880,-518480,1684,1684,0 +3012,chaos,-520364,-516980,-517180,-516780,3384,3384,0 +3013,chaos,-520364,-519360,-519560,-519160,1004,1004,0 +3014,chaos,-520364,-522680,-522880,-522480,2316,-2316,0 +3015,chaos,-520364,-518670,-518870,-518470,1694,1694,0 +3016,chaos,-520364,-523830,-524030,-523630,3466,-3466,0 +3017,chaos,-520364,-519470,-519670,-519270,894,894,0 +3018,chaos,-520364,-524670,-524870,-524470,4306,-4306,0 +3019,chaos,-520364,-523680,-523880,-523480,3316,-3316,0 +3020,chaos,-520364,-522900,-523100,-522700,2536,-2536,0 +3021,chaos,-520364,-524220,-524420,-524020,3856,-3856,0 +3022,chaos,-520364,-515730,-515930,-515530,4634,4634,0 +3023,chaos,-520364,-516870,-517070,-516670,3494,3494,0 +3024,chaos,-520364,-525060,-525260,-524860,4696,-4696,0 +3025,chaos,-520364,-525090,-525290,-524890,4726,-4726,0 +3026,chaos,-520364,-525230,-525430,-525030,4866,-4866,0 +3027,chaos,-520364,-522030,-522230,-521830,1666,-1666,0 +3028,chaos,-520364,-523730,-523930,-523530,3366,-3366,0 +3029,chaos,-520364,-519400,-519600,-519200,964,964,0 +3030,chaos,-520364,-521670,-521870,-521470,1306,-1306,0 +3031,chaos,-520364,-516310,-516510,-516110,4054,4054,0 +3032,chaos,-520364,-523820,-524020,-523620,3456,-3456,0 +3033,chaos,-520364,-521070,-521270,-520870,706,-706,0 +3034,chaos,-520364,-520280,-520480,-520080,84,84,0.8 +3035,chaos,-520364,-525030,-525230,-524830,4666,-4666,0 +3036,chaos,-520364,-522510,-522710,-522310,2146,-2146,0 +3037,chaos,-520364,-517810,-518010,-517610,2554,2554,0 +3038,chaos,-520364,-517320,-517520,-517120,3044,3044,0 +3039,chaos,-520364,-515410,-515610,-515210,4954,4954,0 +3040,chaos,-520364,-525170,-525370,-524970,4806,-4806,0 +3041,chaos,-520364,-524670,-524870,-524470,4306,-4306,0 +3042,chaos,-520364,-517200,-517400,-517000,3164,3164,0 +3043,chaos,-520364,-519710,-519910,-519510,654,654,0 +3044,chaos,-520364,-517720,-517920,-517520,2644,2644,0 +3045,chaos,-520364,-522600,-522800,-522400,2236,-2236,0 +3046,chaos,-520364,-522600,-522800,-522400,2236,-2236,0 +3047,chaos,-520364,-517950,-518150,-517750,2414,2414,0 +3048,chaos,-520364,-523170,-523370,-522970,2806,-2806,0 +3049,chaos,-520364,-518490,-518690,-518290,1874,1874,0 +3050,chaos,-520364,-523090,-523290,-522890,2726,-2726,0 +3051,chaos,-520364,-524170,-524370,-523970,3806,-3806,0 +3052,chaos,-520364,-520190,-520390,-519990,174,174,0.575 +3053,chaos,-520364,-515960,-516160,-515760,4404,4404,0 +3054,chaos,-520364,-522190,-522390,-521990,1826,-1826,0 +3055,chaos,-520364,-521820,-522020,-521620,1456,-1456,0 +3056,chaos,-520364,-523670,-523870,-523470,3306,-3306,0 +3057,chaos,-520364,-515820,-516020,-515620,4544,4544,0 +3058,chaos,-520364,-518360,-518560,-518160,2004,2004,0 +3059,chaos,-520364,-522300,-522500,-522100,1936,-1936,0 +3060,chaos,-520364,-520710,-520910,-520510,346,-346,0.125 +3061,chaos,-520364,-520900,-521100,-520700,536,-536,0 +3062,chaos,-520364,-521050,-521250,-520850,686,-686,0 +3063,chaos,-520364,-520650,-520850,-520450,286,-286,0.275 +3064,chaos,-520364,-518820,-519020,-518620,1544,1544,0 +3065,chaos,-520364,-525190,-525390,-524990,4826,-4826,0 +3066,chaos,-520364,-518260,-518460,-518060,2104,2104,0 +3067,chaos,-520364,-521170,-521370,-520970,806,-806,0 +3068,chaos,-520364,-522060,-522260,-521860,1696,-1696,0 +3069,chaos,-520364,-519690,-519890,-519490,674,674,0 +3070,chaos,-520364,-524780,-524980,-524580,4416,-4416,0 +3071,chaos,-520364,-515700,-515900,-515500,4664,4664,0 +3072,chaos,-520364,-519330,-519530,-519130,1034,1034,0 +3073,chaos,-520364,-519710,-519910,-519510,654,654,0 +3074,chaos,-520364,-516400,-516600,-516200,3964,3964,0 +3075,chaos,-520364,-515700,-515900,-515500,4664,4664,0 +3076,chaos,-520364,-518450,-518650,-518250,1914,1914,0 +3077,chaos,-520364,-518740,-518940,-518540,1624,1624,0 +3078,chaos,-520364,-522730,-522930,-522530,2366,-2366,0 +3079,chaos,-520364,-515450,-515650,-515250,4914,4914,0 +3080,chaos,-520364,-519780,-519980,-519580,584,584,0 +3081,chaos,-520364,-524320,-524520,-524120,3956,-3956,0 +3082,chaos,-520364,-524690,-524890,-524490,4326,-4326,0 +3083,chaos,-520364,-523240,-523440,-523040,2876,-2876,0 +3084,chaos,-520364,-525270,-525470,-525070,4906,-4906,0 +3085,chaos,-520364,-518820,-519020,-518620,1544,1544,0 +3086,chaos,-520364,-522870,-523070,-522670,2506,-2506,0 +3087,chaos,-520364,-522670,-522870,-522470,2306,-2306,0 +3088,chaos,-520364,-515540,-515740,-515340,4824,4824,0 +3089,chaos,-520364,-518100,-518300,-517900,2264,2264,0 +3090,chaos,-520364,-519160,-519360,-518960,1204,1204,0 +3091,chaos,-520364,-516560,-516760,-516360,3804,3804,0 +3092,chaos,-520364,-525170,-525370,-524970,4806,-4806,0 +3093,chaos,-520364,-520060,-520260,-519860,304,304,0.25 +3094,chaos,-520364,-518140,-518340,-517940,2224,2224,0 +3095,chaos,-520364,-518550,-518750,-518350,1814,1814,0 +3096,chaos,-520364,-517120,-517320,-516920,3244,3244,0 +3097,chaos,-520364,-520430,-520630,-520230,66,-66,0.825 +3098,chaos,-520364,-518510,-518710,-518310,1854,1854,0 +3099,chaos,-520364,-520580,-520780,-520380,216,-216,0.45 +3100,chaos,-520364,-517300,-517500,-517100,3064,3064,0 +3101,chaos,-520364,-521580,-521780,-521380,1216,-1216,0 +3102,chaos,-520364,-524930,-525130,-524730,4566,-4566,0 +3103,chaos,-520364,-525170,-525370,-524970,4806,-4806,0 +3104,chaos,-520364,-516120,-516320,-515920,4244,4244,0 +3105,chaos,-520364,-515790,-515990,-515590,4574,4574,0 +3106,chaos,-520364,-524980,-525180,-524780,4616,-4616,0 +3107,chaos,-520364,-523350,-523550,-523150,2986,-2986,0 +3108,chaos,-520364,-523750,-523950,-523550,3386,-3386,0 +3109,chaos,-520364,-520460,-520660,-520260,96,-96,0.75 +3110,chaos,-520364,-519680,-519880,-519480,684,684,0 +3111,chaos,-520364,-517180,-517380,-516980,3184,3184,0 +3112,chaos,-520364,-519200,-519400,-519000,1164,1164,0 +3113,chaos,-520364,-517190,-517390,-516990,3174,3174,0 +3114,chaos,-520364,-516510,-516710,-516310,3854,3854,0 +3115,chaos,-520364,-520710,-520910,-520510,346,-346,0.125 +3116,chaos,-520364,-518800,-519000,-518600,1564,1564,0 +3117,chaos,-520364,-522160,-522360,-521960,1796,-1796,0 +3118,chaos,-520364,-516720,-516920,-516520,3644,3644,0 +3119,chaos,-520364,-521690,-521890,-521490,1326,-1326,0 +3120,chaos,-520364,-520360,-520560,-520160,4,4,1 +3121,chaos,-520364,-521720,-521920,-521520,1356,-1356,0 +3122,chaos,-520364,-521530,-521730,-521330,1166,-1166,0 +3123,chaos,-520364,-522790,-522990,-522590,2426,-2426,0 +3124,chaos,-520364,-519540,-519740,-519340,824,824,0 +3125,chaos,-520364,-523060,-523260,-522860,2696,-2696,0 +3126,chaos,-520364,-518230,-518430,-518030,2134,2134,0 +3127,chaos,-520364,-523140,-523340,-522940,2776,-2776,0 +3128,chaos,-520364,-523670,-523870,-523470,3306,-3306,0 +3129,chaos,-520364,-522010,-522210,-521810,1646,-1646,0 +3130,chaos,-520364,-523390,-523590,-523190,3026,-3026,0 +3131,chaos,-520364,-524080,-524280,-523880,3716,-3716,0 +3132,chaos,-520364,-519730,-519930,-519530,634,634,0 +3133,chaos,-520364,-523630,-523830,-523430,3266,-3266,0 +3134,chaos,-520364,-515740,-515940,-515540,4624,4624,0 +3135,chaos,-520364,-519710,-519910,-519510,654,654,0 +3136,chaos,-520364,-521040,-521240,-520840,676,-676,0 +3137,chaos,-520364,-515670,-515870,-515470,4694,4694,0 +3138,chaos,-520364,-519430,-519630,-519230,934,934,0 +3139,chaos,-520364,-523520,-523720,-523320,3156,-3156,0 +3140,chaos,-520364,-518630,-518830,-518430,1734,1734,0 +3141,chaos,-520364,-517450,-517650,-517250,2914,2914,0 +3142,chaos,-520364,-523570,-523770,-523370,3206,-3206,0 +3143,chaos,-520364,-518940,-519140,-518740,1424,1424,0 +3144,chaos,-520364,-515660,-515860,-515460,4704,4704,0 +3145,chaos,-520364,-521470,-521670,-521270,1106,-1106,0 +3146,chaos,-520364,-519790,-519990,-519590,574,574,0 +3147,chaos,-520364,-519750,-519950,-519550,614,614,0 +3148,chaos,-520364,-519290,-519490,-519090,1074,1074,0 +3149,chaos,-520364,-522450,-522650,-522250,2086,-2086,0 +3150,chaos,-520364,-520650,-520850,-520450,286,-286,0.275 +3151,chaos,-520364,-516160,-516360,-515960,4204,4204,0 +3152,chaos,-520364,-522450,-522650,-522250,2086,-2086,0 +3153,chaos,-520364,-515440,-515640,-515240,4924,4924,0 +3154,chaos,-520364,-516620,-516820,-516420,3744,3744,0 +3155,chaos,-520364,-524860,-525060,-524660,4496,-4496,0 +3156,chaos,-520364,-519780,-519980,-519580,584,584,0 +3157,chaos,-520364,-520460,-520660,-520260,96,-96,0.75 +3158,chaos,-520364,-524280,-524480,-524080,3916,-3916,0 +3159,chaos,-520364,-520040,-520240,-519840,324,324,0.2 +3160,chaos,-520364,-517530,-517730,-517330,2834,2834,0 +3161,chaos,-520364,-517910,-518110,-517710,2454,2454,0 +3162,chaos,-520364,-520100,-520300,-519900,264,264,0.35 +3163,chaos,-520364,-523170,-523370,-522970,2806,-2806,0 +3164,chaos,-520364,-520530,-520730,-520330,166,-166,0.575 +3165,chaos,-520364,-517330,-517530,-517130,3034,3034,0 +3166,chaos,-520364,-522640,-522840,-522440,2276,-2276,0 +3167,chaos,-520364,-515590,-515790,-515390,4774,4774,0 +3168,chaos,-520364,-515480,-515680,-515280,4884,4884,0 +3169,chaos,-520364,-523050,-523250,-522850,2686,-2686,0 +3170,chaos,-520364,-518880,-519080,-518680,1484,1484,0 +3171,chaos,-520364,-519630,-519830,-519430,734,734,0 +3172,chaos,-520364,-517450,-517650,-517250,2914,2914,0 +3173,chaos,-520364,-520950,-521150,-520750,586,-586,0 +3174,chaos,-520364,-521990,-522190,-521790,1626,-1626,0 +3175,chaos,-520364,-522130,-522330,-521930,1766,-1766,0 +3176,chaos,-520364,-522420,-522620,-522220,2056,-2056,0 +3177,chaos,-520364,-518620,-518820,-518420,1744,1744,0 +3178,chaos,-520364,-518780,-518980,-518580,1584,1584,0 +3179,chaos,-520364,-522000,-522200,-521800,1636,-1636,0 +3180,chaos,-520364,-523110,-523310,-522910,2746,-2746,0 +3181,chaos,-520364,-515780,-515980,-515580,4584,4584,0 +3182,chaos,-520364,-517900,-518100,-517700,2464,2464,0 +3183,chaos,-520364,-517100,-517300,-516900,3264,3264,0 +3184,chaos,-520364,-516020,-516220,-515820,4344,4344,0 +3185,chaos,-520364,-524700,-524900,-524500,4336,-4336,0 +3186,chaos,-520364,-520980,-521180,-520780,616,-616,0 +3187,chaos,-520364,-519320,-519520,-519120,1044,1044,0 +3188,chaos,-520364,-522570,-522770,-522370,2206,-2206,0 +3189,chaos,-520364,-517040,-517240,-516840,3324,3324,0 +3190,chaos,-520364,-521720,-521920,-521520,1356,-1356,0 +3191,chaos,-520364,-520650,-520850,-520450,286,-286,0.275 +3192,chaos,-520364,-519370,-519570,-519170,994,994,0 +3193,chaos,-520364,-516200,-516400,-516000,4164,4164,0 +3194,chaos,-520364,-520300,-520500,-520100,64,64,0.85 +3195,chaos,-520364,-522790,-522990,-522590,2426,-2426,0 +3196,chaos,-520364,-523520,-523720,-523320,3156,-3156,0 +3197,chaos,-520364,-523980,-524180,-523780,3616,-3616,0 +3198,chaos,-520364,-524070,-524270,-523870,3706,-3706,0 +3199,chaos,-520364,-516500,-516700,-516300,3864,3864,0 +3200,chaos,-520364,-515970,-516170,-515770,4394,4394,0 +3201,chaos,-520364,-517500,-517700,-517300,2864,2864,0 +3202,chaos,-520364,-520030,-520230,-519830,334,334,0.175 +3203,chaos,-520364,-516440,-516640,-516240,3924,3924,0 +3204,chaos,-520364,-517660,-517860,-517460,2704,2704,0 +3205,chaos,-520364,-524580,-524780,-524380,4216,-4216,0 +3206,chaos,-520364,-522310,-522510,-522110,1946,-1946,0 +3207,chaos,-520364,-523390,-523590,-523190,3026,-3026,0 +3208,chaos,-520364,-518960,-519160,-518760,1404,1404,0 +3209,chaos,-520364,-518890,-519090,-518690,1474,1474,0 +3210,chaos,-520364,-523820,-524020,-523620,3456,-3456,0 +3211,chaos,-520364,-515860,-516060,-515660,4504,4504,0 +3212,chaos,-520364,-523850,-524050,-523650,3486,-3486,0 +3213,chaos,-520364,-523740,-523940,-523540,3376,-3376,0 +3214,chaos,-520364,-519680,-519880,-519480,684,684,0 +3215,chaos,-520364,-519300,-519500,-519100,1064,1064,0 +3216,chaos,-520364,-522260,-522460,-522060,1896,-1896,0 +3217,chaos,-520364,-522470,-522670,-522270,2106,-2106,0 +3218,chaos,-520364,-518300,-518500,-518100,2064,2064,0 +3219,chaos,-520364,-516190,-516390,-515990,4174,4174,0 +3220,chaos,-520364,-519140,-519340,-518940,1224,1224,0 +3221,chaos,-520364,-516610,-516810,-516410,3754,3754,0 +3222,chaos,-520364,-515610,-515810,-515410,4754,4754,0 +3223,chaos,-520364,-518260,-518460,-518060,2104,2104,0 +3224,chaos,-520364,-524020,-524220,-523820,3656,-3656,0 +3225,chaos,-520364,-520900,-521100,-520700,536,-536,0 +3226,chaos,-520364,-521220,-521420,-521020,856,-856,0 +3227,chaos,-520364,-523750,-523950,-523550,3386,-3386,0 +3228,chaos,-520364,-518500,-518700,-518300,1864,1864,0 +3229,chaos,-520364,-519490,-519690,-519290,874,874,0 +3230,chaos,-520364,-517720,-517920,-517520,2644,2644,0 +3231,chaos,-520364,-517500,-517700,-517300,2864,2864,0 +3232,chaos,-520364,-520150,-520350,-519950,214,214,0.475 +3233,chaos,-520364,-518170,-518370,-517970,2194,2194,0 +3234,chaos,-520364,-520380,-520580,-520180,16,-16,0.95 +3235,chaos,-520364,-515650,-515850,-515450,4714,4714,0 +3236,chaos,-520364,-522170,-522370,-521970,1806,-1806,0 +3237,chaos,-520364,-519350,-519550,-519150,1014,1014,0 +3238,chaos,-520364,-515550,-515750,-515350,4814,4814,0 +3239,chaos,-520364,-516450,-516650,-516250,3914,3914,0 +3240,chaos,-520364,-520100,-520300,-519900,264,264,0.35 +3241,chaos,-520364,-523840,-524040,-523640,3476,-3476,0 +3242,chaos,-520364,-523200,-523400,-523000,2836,-2836,0 +3243,chaos,-520364,-517410,-517610,-517210,2954,2954,0 +3244,chaos,-520364,-515700,-515900,-515500,4664,4664,0 +3245,chaos,-520364,-516700,-516900,-516500,3664,3664,0 +3246,chaos,-520364,-519460,-519660,-519260,904,904,0 +3247,chaos,-520364,-522520,-522720,-522320,2156,-2156,0 +3248,chaos,-520364,-520910,-521110,-520710,546,-546,0 +3249,chaos,-520364,-517430,-517630,-517230,2934,2934,0 +3250,chaos,-520364,-520210,-520410,-520010,154,154,0.625 +3251,chaos,-520364,-522190,-522390,-521990,1826,-1826,0 +3252,chaos,-520364,-525200,-525400,-525000,4836,-4836,0 +3253,chaos,-520364,-524700,-524900,-524500,4336,-4336,0 +3254,chaos,-520364,-525280,-525480,-525080,4916,-4916,0 +3255,chaos,-520364,-517720,-517920,-517520,2644,2644,0 +3256,chaos,-520364,-519230,-519430,-519030,1134,1134,0 +3257,chaos,-520364,-515420,-515620,-515220,4944,4944,0 +3258,chaos,-520364,-524640,-524840,-524440,4276,-4276,0 +3259,chaos,-520364,-517260,-517460,-517060,3104,3104,0 +3260,chaos,-520364,-525150,-525350,-524950,4786,-4786,0 +3261,chaos,-520364,-517870,-518070,-517670,2494,2494,0 +3262,chaos,-520364,-522340,-522540,-522140,1976,-1976,0 +3263,chaos,-520364,-523680,-523880,-523480,3316,-3316,0 +3264,chaos,-520364,-515530,-515730,-515330,4834,4834,0 +3265,chaos,-520364,-520510,-520710,-520310,146,-146,0.625 +3266,chaos,-520364,-516050,-516250,-515850,4314,4314,0 +3267,chaos,-520364,-519670,-519870,-519470,694,694,0 +3268,chaos,-520364,-518830,-519030,-518630,1534,1534,0 +3269,chaos,-520364,-524010,-524210,-523810,3646,-3646,0 +3270,chaos,-520364,-518040,-518240,-517840,2324,2324,0 +3271,chaos,-520364,-516590,-516790,-516390,3774,3774,0 +3272,chaos,-520364,-518070,-518270,-517870,2294,2294,0 +3273,chaos,-520364,-515820,-516020,-515620,4544,4544,0 +3274,chaos,-520364,-518880,-519080,-518680,1484,1484,0 +3275,chaos,-520364,-516680,-516880,-516480,3684,3684,0 +3276,chaos,-520364,-516940,-517140,-516740,3424,3424,0 +3277,chaos,-520364,-522920,-523120,-522720,2556,-2556,0 +3278,chaos,-520364,-518580,-518780,-518380,1784,1784,0 +3279,chaos,-520364,-518180,-518380,-517980,2184,2184,0 +3280,chaos,-520364,-520230,-520430,-520030,134,134,0.675 +3281,chaos,-520364,-518970,-519170,-518770,1394,1394,0 +3282,chaos,-520364,-523770,-523970,-523570,3406,-3406,0 +3283,chaos,-520364,-518310,-518510,-518110,2054,2054,0 +3284,chaos,-520364,-517680,-517880,-517480,2684,2684,0 +3285,chaos,-520364,-521360,-521560,-521160,996,-996,0 +3286,chaos,-520364,-523270,-523470,-523070,2906,-2906,0 +3287,chaos,-520364,-517590,-517790,-517390,2774,2774,0 +3288,chaos,-520364,-517500,-517700,-517300,2864,2864,0 +3289,chaos,-520364,-524220,-524420,-524020,3856,-3856,0 +3290,chaos,-520364,-520140,-520340,-519940,224,224,0.45 +3291,chaos,-520364,-523160,-523360,-522960,2796,-2796,0 +3292,chaos,-520364,-522530,-522730,-522330,2166,-2166,0 +3293,chaos,-520364,-523890,-524090,-523690,3526,-3526,0 +3294,chaos,-520364,-523490,-523690,-523290,3126,-3126,0 +3295,chaos,-520364,-516740,-516940,-516540,3624,3624,0 +3296,chaos,-520364,-523630,-523830,-523430,3266,-3266,0 +3297,chaos,-520364,-524660,-524860,-524460,4296,-4296,0 +3298,chaos,-520364,-519580,-519780,-519380,784,784,0 +3299,chaos,-520364,-524490,-524690,-524290,4126,-4126,0 +3300,chaos,-520364,-519120,-519320,-518920,1244,1244,0 +3301,chaos,-520364,-516000,-516200,-515800,4364,4364,0 +3302,chaos,-520364,-522000,-522200,-521800,1636,-1636,0 +3303,chaos,-520364,-520500,-520700,-520300,136,-136,0.65 +3304,chaos,-520364,-522510,-522710,-522310,2146,-2146,0 +3305,chaos,-520364,-519390,-519590,-519190,974,974,0 +3306,chaos,-520364,-518770,-518970,-518570,1594,1594,0 +3307,chaos,-520364,-523120,-523320,-522920,2756,-2756,0 +3308,chaos,-520364,-520910,-521110,-520710,546,-546,0 +3309,chaos,-520364,-520850,-521050,-520650,486,-486,0 +3310,chaos,-520364,-521650,-521850,-521450,1286,-1286,0 +3311,chaos,-520364,-516810,-517010,-516610,3554,3554,0 +3312,chaos,-520364,-518330,-518530,-518130,2034,2034,0 +3313,chaos,-520364,-523740,-523940,-523540,3376,-3376,0 +3314,chaos,-520364,-519140,-519340,-518940,1224,1224,0 +3315,chaos,-520364,-523320,-523520,-523120,2956,-2956,0 +3316,chaos,-520364,-516320,-516520,-516120,4044,4044,0 +3317,chaos,-520364,-521450,-521650,-521250,1086,-1086,0 +3318,chaos,-520364,-524520,-524720,-524320,4156,-4156,0 +3319,chaos,-520364,-516970,-517170,-516770,3394,3394,0 +3320,chaos,-520364,-519370,-519570,-519170,994,994,0 +3321,chaos,-520364,-517740,-517940,-517540,2624,2624,0 +3322,chaos,-520364,-518450,-518650,-518250,1914,1914,0 +3323,chaos,-520364,-524590,-524790,-524390,4226,-4226,0 +3324,chaos,-520364,-523700,-523900,-523500,3336,-3336,0 +3325,chaos,-520364,-525000,-525200,-524800,4636,-4636,0 +3326,chaos,-520364,-516620,-516820,-516420,3744,3744,0 +3327,chaos,-520364,-525340,-525540,-525140,4976,-4976,0 +3328,chaos,-520364,-520170,-520370,-519970,194,194,0.525 +3329,chaos,-520364,-524890,-525090,-524690,4526,-4526,0 +3330,chaos,-520364,-522140,-522340,-521940,1776,-1776,0 +3331,chaos,-520364,-523410,-523610,-523210,3046,-3046,0 +3332,chaos,-520364,-521720,-521920,-521520,1356,-1356,0 +3333,chaos,-520364,-525260,-525460,-525060,4896,-4896,0 +3334,chaos,-520364,-516200,-516400,-516000,4164,4164,0 +3335,chaos,-520364,-516150,-516350,-515950,4214,4214,0 +3336,chaos,-520364,-522000,-522200,-521800,1636,-1636,0 +3337,chaos,-520364,-523960,-524160,-523760,3596,-3596,0 +3338,chaos,-520364,-518730,-518930,-518530,1634,1634,0 +3339,chaos,-520364,-523930,-524130,-523730,3566,-3566,0 +3340,chaos,-520364,-521000,-521200,-520800,636,-636,0 +3341,chaos,-520364,-519450,-519650,-519250,914,914,0 +3342,chaos,-520364,-521560,-521760,-521360,1196,-1196,0 +3343,chaos,-520364,-519030,-519230,-518830,1334,1334,0 +3344,chaos,-520364,-524370,-524570,-524170,4006,-4006,0 +3345,chaos,-520364,-519260,-519460,-519060,1104,1104,0 +3346,chaos,-520364,-520760,-520960,-520560,396,-396,0 +3347,chaos,-520364,-515400,-515600,-515200,4964,4964,0 +3348,chaos,-520364,-521050,-521250,-520850,686,-686,0 +3349,chaos,-520364,-524690,-524890,-524490,4326,-4326,0 +3350,chaos,-520364,-524400,-524600,-524200,4036,-4036,0 +3351,chaos,-520364,-515740,-515940,-515540,4624,4624,0 +3352,chaos,-520364,-524400,-524600,-524200,4036,-4036,0 +3353,chaos,-520364,-520470,-520670,-520270,106,-106,0.725 +3354,chaos,-520364,-520010,-520210,-519810,354,354,0.125 +3355,chaos,-520364,-517540,-517740,-517340,2824,2824,0 +3356,chaos,-520364,-523850,-524050,-523650,3486,-3486,0 +3357,chaos,-520364,-521130,-521330,-520930,766,-766,0 +3358,chaos,-520364,-522980,-523180,-522780,2616,-2616,0 +3359,chaos,-520364,-519840,-520040,-519640,524,524,0 +3360,chaos,-520364,-524740,-524940,-524540,4376,-4376,0 +3361,chaos,-520364,-523550,-523750,-523350,3186,-3186,0 +3362,chaos,-520364,-525270,-525470,-525070,4906,-4906,0 +3363,chaos,-520364,-525290,-525490,-525090,4926,-4926,0 +3364,chaos,-520364,-516410,-516610,-516210,3954,3954,0 +3365,chaos,-520364,-523450,-523650,-523250,3086,-3086,0 +3366,chaos,-520364,-524440,-524640,-524240,4076,-4076,0 +3367,chaos,-520364,-517810,-518010,-517610,2554,2554,0 +3368,chaos,-520364,-522480,-522680,-522280,2116,-2116,0 +3369,chaos,-520364,-517390,-517590,-517190,2974,2974,0 +3370,chaos,-520364,-523870,-524070,-523670,3506,-3506,0 +3371,chaos,-520364,-524130,-524330,-523930,3766,-3766,0 +3372,chaos,-520364,-517390,-517590,-517190,2974,2974,0 +3373,chaos,-520364,-523270,-523470,-523070,2906,-2906,0 +3374,chaos,-520364,-524140,-524340,-523940,3776,-3776,0 +3375,chaos,-520364,-520100,-520300,-519900,264,264,0.35 +3376,chaos,-520364,-518350,-518550,-518150,2014,2014,0 +3377,chaos,-520364,-522390,-522590,-522190,2026,-2026,0 +3378,chaos,-520364,-517010,-517210,-516810,3354,3354,0 +3379,chaos,-520364,-524170,-524370,-523970,3806,-3806,0 +3380,chaos,-520364,-519280,-519480,-519080,1084,1084,0 +3381,chaos,-520364,-524990,-525190,-524790,4626,-4626,0 +3382,chaos,-520364,-516510,-516710,-516310,3854,3854,0 +3383,chaos,-520364,-515600,-515800,-515400,4764,4764,0 +3384,chaos,-520364,-521640,-521840,-521440,1276,-1276,0 +3385,chaos,-520364,-523200,-523400,-523000,2836,-2836,0 +3386,chaos,-520364,-522470,-522670,-522270,2106,-2106,0 +3387,chaos,-520364,-518120,-518320,-517920,2244,2244,0 +3388,chaos,-520364,-525100,-525300,-524900,4736,-4736,0 +3389,chaos,-520364,-521690,-521890,-521490,1326,-1326,0 +3390,chaos,-520364,-525070,-525270,-524870,4706,-4706,0 +3391,chaos,-520364,-515390,-515590,-515190,4974,4974,0 +3392,chaos,-520364,-524990,-525190,-524790,4626,-4626,0 +3393,chaos,-520364,-525250,-525450,-525050,4886,-4886,0 +3394,chaos,-520364,-521610,-521810,-521410,1246,-1246,0 +3395,chaos,-520364,-520260,-520460,-520060,104,104,0.75 +3396,chaos,-520364,-521670,-521870,-521470,1306,-1306,0 +3397,chaos,-520364,-523830,-524030,-523630,3466,-3466,0 +3398,chaos,-520364,-517930,-518130,-517730,2434,2434,0 +3399,chaos,-520364,-524850,-525050,-524650,4486,-4486,0 +3400,chaos,-520364,-520400,-520600,-520200,36,-36,0.9 +3401,chaos,-520364,-522640,-522840,-522440,2276,-2276,0 +3402,chaos,-520364,-519100,-519300,-518900,1264,1264,0 +3403,chaos,-520364,-519570,-519770,-519370,794,794,0 +3404,chaos,-520364,-524030,-524230,-523830,3666,-3666,0 +3405,chaos,-520364,-518930,-519130,-518730,1434,1434,0 +3406,chaos,-520364,-522950,-523150,-522750,2586,-2586,0 +3407,chaos,-520364,-523360,-523560,-523160,2996,-2996,0 +3408,chaos,-520364,-515790,-515990,-515590,4574,4574,0 +3409,chaos,-520364,-521900,-522100,-521700,1536,-1536,0 +3410,chaos,-520364,-520990,-521190,-520790,626,-626,0 +3411,chaos,-520364,-517950,-518150,-517750,2414,2414,0 +3412,chaos,-520364,-522120,-522320,-521920,1756,-1756,0 +3413,chaos,-520364,-515380,-515580,-515180,4984,4984,0 +3414,chaos,-520364,-521190,-521390,-520990,826,-826,0 +3415,chaos,-520364,-517710,-517910,-517510,2654,2654,0 +3416,chaos,-520364,-518270,-518470,-518070,2094,2094,0 +3417,chaos,-520364,-520590,-520790,-520390,226,-226,0.425 +3418,chaos,-520364,-524910,-525110,-524710,4546,-4546,0 +3419,chaos,-520364,-518350,-518550,-518150,2014,2014,0 +3420,chaos,-520364,-517800,-518000,-517600,2564,2564,0 +3421,chaos,-520364,-524660,-524860,-524460,4296,-4296,0 +3422,chaos,-520364,-524990,-525190,-524790,4626,-4626,0 +3423,chaos,-520364,-523630,-523830,-523430,3266,-3266,0 +3424,chaos,-520364,-522940,-523140,-522740,2576,-2576,0 +3425,chaos,-520364,-518150,-518350,-517950,2214,2214,0 +3426,chaos,-520364,-524700,-524900,-524500,4336,-4336,0 +3427,chaos,-520364,-522960,-523160,-522760,2596,-2596,0 +3428,chaos,-520364,-522250,-522450,-522050,1886,-1886,0 +3429,chaos,-520364,-521220,-521420,-521020,856,-856,0 +3430,chaos,-520364,-525170,-525370,-524970,4806,-4806,0 +3431,chaos,-520364,-523110,-523310,-522910,2746,-2746,0 +3432,chaos,-520364,-518350,-518550,-518150,2014,2014,0 +3433,chaos,-520364,-517100,-517300,-516900,3264,3264,0 +3434,chaos,-520364,-524270,-524470,-524070,3906,-3906,0 +3435,chaos,-520364,-523050,-523250,-522850,2686,-2686,0 +3436,chaos,-520364,-516140,-516340,-515940,4224,4224,0 +3437,chaos,-520364,-517830,-518030,-517630,2534,2534,0 +3438,chaos,-520364,-519080,-519280,-518880,1284,1284,0 +3439,chaos,-520364,-521010,-521210,-520810,646,-646,0 +3440,chaos,-520364,-519640,-519840,-519440,724,724,0 +3441,chaos,-520364,-520190,-520390,-519990,174,174,0.575 +3442,chaos,-520364,-516840,-517040,-516640,3524,3524,0 +3443,chaos,-520364,-524090,-524290,-523890,3726,-3726,0 +3444,chaos,-520364,-522170,-522370,-521970,1806,-1806,0 +3445,chaos,-520364,-521700,-521900,-521500,1336,-1336,0 +3446,chaos,-520364,-516700,-516900,-516500,3664,3664,0 +3447,chaos,-520364,-519970,-520170,-519770,394,394,0.025 +3448,chaos,-520364,-518550,-518750,-518350,1814,1814,0 +3449,chaos,-520364,-524880,-525080,-524680,4516,-4516,0 +3450,chaos,-520364,-518340,-518540,-518140,2024,2024,0 +3451,chaos,-520364,-524880,-525080,-524680,4516,-4516,0 +3452,chaos,-520364,-518400,-518600,-518200,1964,1964,0 +3453,chaos,-520364,-520780,-520980,-520580,416,-416,0 +3454,chaos,-520364,-522090,-522290,-521890,1726,-1726,0 +3455,chaos,-520364,-524070,-524270,-523870,3706,-3706,0 +3456,chaos,-520364,-524620,-524820,-524420,4256,-4256,0 +3457,chaos,-520364,-524630,-524830,-524430,4266,-4266,0 +3458,chaos,-520364,-520270,-520470,-520070,94,94,0.775 +3459,chaos,-520364,-524300,-524500,-524100,3936,-3936,0 +3460,chaos,-520364,-523440,-523640,-523240,3076,-3076,0 +3461,chaos,-520364,-520230,-520430,-520030,134,134,0.675 +3462,chaos,-520364,-515420,-515620,-515220,4944,4944,0 +3463,chaos,-520364,-517250,-517450,-517050,3114,3114,0 +3464,chaos,-520364,-518310,-518510,-518110,2054,2054,0 +3465,chaos,-520364,-517960,-518160,-517760,2404,2404,0 +3466,chaos,-520364,-523170,-523370,-522970,2806,-2806,0 +3467,chaos,-520364,-518040,-518240,-517840,2324,2324,0 +3468,chaos,-520364,-524890,-525090,-524690,4526,-4526,0 +3469,chaos,-520364,-522170,-522370,-521970,1806,-1806,0 +3470,chaos,-520364,-521700,-521900,-521500,1336,-1336,0 +3471,chaos,-520364,-524910,-525110,-524710,4546,-4546,0 +3472,chaos,-520364,-517950,-518150,-517750,2414,2414,0 +3473,chaos,-520364,-522350,-522550,-522150,1986,-1986,0 +3474,chaos,-520364,-524220,-524420,-524020,3856,-3856,0 +3475,chaos,-520364,-519990,-520190,-519790,374,374,0.075 +3476,chaos,-520364,-515360,-515560,-515160,5004,5004,0 +3477,chaos,-520364,-518160,-518360,-517960,2204,2204,0 +3478,chaos,-520364,-516330,-516530,-516130,4034,4034,0 +3479,chaos,-520364,-523650,-523850,-523450,3286,-3286,0 +3480,chaos,-520364,-519930,-520130,-519730,434,434,0 +3481,chaos,-520364,-521440,-521640,-521240,1076,-1076,0 +3482,chaos,-520364,-523220,-523420,-523020,2856,-2856,0 +3483,chaos,-520364,-519160,-519360,-518960,1204,1204,0 +3484,chaos,-520364,-521300,-521500,-521100,936,-936,0 +3485,chaos,-520364,-520480,-520680,-520280,116,-116,0.7 +3486,chaos,-520364,-516120,-516320,-515920,4244,4244,0 +3487,chaos,-520364,-521210,-521410,-521010,846,-846,0 +3488,chaos,-520364,-517100,-517300,-516900,3264,3264,0 +3489,chaos,-520364,-520810,-521010,-520610,446,-446,0 +3490,chaos,-520364,-524440,-524640,-524240,4076,-4076,0 +3491,chaos,-520364,-519320,-519520,-519120,1044,1044,0 +3492,chaos,-520364,-521910,-522110,-521710,1546,-1546,0 +3493,chaos,-520364,-516640,-516840,-516440,3724,3724,0 +3494,chaos,-520364,-522990,-523190,-522790,2626,-2626,0 +3495,chaos,-520364,-518550,-518750,-518350,1814,1814,0 +3496,chaos,-520364,-515780,-515980,-515580,4584,4584,0 +3497,chaos,-520364,-523390,-523590,-523190,3026,-3026,0 +3498,chaos,-520364,-523380,-523580,-523180,3016,-3016,0 +3499,chaos,-520364,-517890,-518090,-517690,2474,2474,0 +3500,chaos,-520364,-522760,-522960,-522560,2396,-2396,0 +3501,chaos,-520364,-517140,-517340,-516940,3224,3224,0 +3502,chaos,-520364,-517310,-517510,-517110,3054,3054,0 +3503,chaos,-520364,-521410,-521610,-521210,1046,-1046,0 +3504,chaos,-520364,-519620,-519820,-519420,744,744,0 +3505,chaos,-520364,-524650,-524850,-524450,4286,-4286,0 +3506,chaos,-520364,-521780,-521980,-521580,1416,-1416,0 +3507,chaos,-520364,-519090,-519290,-518890,1274,1274,0 +3508,chaos,-520364,-516240,-516440,-516040,4124,4124,0 +3509,chaos,-520364,-522050,-522250,-521850,1686,-1686,0 +3510,chaos,-520364,-525220,-525420,-525020,4856,-4856,0 +3511,chaos,-520364,-524150,-524350,-523950,3786,-3786,0 +3512,chaos,-520364,-522760,-522960,-522560,2396,-2396,0 +3513,chaos,-520364,-516870,-517070,-516670,3494,3494,0 +3514,chaos,-520364,-516160,-516360,-515960,4204,4204,0 +3515,chaos,-520364,-516170,-516370,-515970,4194,4194,0 +3516,chaos,-520364,-515480,-515680,-515280,4884,4884,0 +3517,chaos,-520364,-520880,-521080,-520680,516,-516,0 +3518,chaos,-520364,-524850,-525050,-524650,4486,-4486,0 +3519,chaos,-520364,-522650,-522850,-522450,2286,-2286,0 +3520,chaos,-520364,-523480,-523680,-523280,3116,-3116,0 +3521,chaos,-520364,-524280,-524480,-524080,3916,-3916,0 +3522,chaos,-520364,-519740,-519940,-519540,624,624,0 +3523,chaos,-520364,-520280,-520480,-520080,84,84,0.8 +3524,chaos,-520364,-518850,-519050,-518650,1514,1514,0 +3525,chaos,-520364,-518020,-518220,-517820,2344,2344,0 +3526,chaos,-520364,-518520,-518720,-518320,1844,1844,0 +3527,chaos,-520364,-519520,-519720,-519320,844,844,0 +3528,chaos,-520364,-520200,-520400,-520000,164,164,0.6 +3529,chaos,-520364,-523580,-523780,-523380,3216,-3216,0 +3530,chaos,-520364,-516600,-516800,-516400,3764,3764,0 +3531,chaos,-520364,-519060,-519260,-518860,1304,1304,0 +3532,chaos,-520364,-519260,-519460,-519060,1104,1104,0 +3533,chaos,-520364,-519610,-519810,-519410,754,754,0 +3534,chaos,-520364,-518380,-518580,-518180,1984,1984,0 +3535,chaos,-520364,-522710,-522910,-522510,2346,-2346,0 +3536,chaos,-520364,-523790,-523990,-523590,3426,-3426,0 +3537,chaos,-520364,-522410,-522610,-522210,2046,-2046,0 +3538,chaos,-520364,-518800,-519000,-518600,1564,1564,0 +3539,chaos,-520364,-516140,-516340,-515940,4224,4224,0 +3540,chaos,-520364,-515660,-515860,-515460,4704,4704,0 +3541,chaos,-520364,-516730,-516930,-516530,3634,3634,0 +3542,chaos,-520364,-520270,-520470,-520070,94,94,0.775 +3543,chaos,-520364,-523710,-523910,-523510,3346,-3346,0 +3544,chaos,-520364,-521460,-521660,-521260,1096,-1096,0 +3545,chaos,-520364,-517950,-518150,-517750,2414,2414,0 +3546,chaos,-520364,-515530,-515730,-515330,4834,4834,0 +3547,chaos,-520364,-521360,-521560,-521160,996,-996,0 +3548,chaos,-520364,-515500,-515700,-515300,4864,4864,0 +3549,chaos,-520364,-515840,-516040,-515640,4524,4524,0 +3550,chaos,-520364,-517410,-517610,-517210,2954,2954,0 +3551,chaos,-520364,-520940,-521140,-520740,576,-576,0 +3552,chaos,-520364,-516560,-516760,-516360,3804,3804,0 +3553,chaos,-520364,-519940,-520140,-519740,424,424,0 +3554,chaos,-520364,-523290,-523490,-523090,2926,-2926,0 +3555,chaos,-520364,-516650,-516850,-516450,3714,3714,0 +3556,chaos,-520364,-523240,-523440,-523040,2876,-2876,0 +3557,chaos,-520364,-524370,-524570,-524170,4006,-4006,0 +3558,chaos,-520364,-521580,-521780,-521380,1216,-1216,0 +3559,chaos,-520364,-516310,-516510,-516110,4054,4054,0 +3560,chaos,-520364,-519500,-519700,-519300,864,864,0 +3561,chaos,-520364,-520480,-520680,-520280,116,-116,0.7 +3562,chaos,-520364,-518650,-518850,-518450,1714,1714,0 +3563,chaos,-520364,-524630,-524830,-524430,4266,-4266,0 +3564,chaos,-520364,-522850,-523050,-522650,2486,-2486,0 +3565,chaos,-520364,-517400,-517600,-517200,2964,2964,0 +3566,chaos,-520364,-523570,-523770,-523370,3206,-3206,0 +3567,chaos,-520364,-521950,-522150,-521750,1586,-1586,0 +3568,chaos,-520364,-523410,-523610,-523210,3046,-3046,0 +3569,chaos,-520364,-519830,-520030,-519630,534,534,0 +3570,chaos,-520364,-525030,-525230,-524830,4666,-4666,0 +3571,chaos,-520364,-519680,-519880,-519480,684,684,0 +3572,chaos,-520364,-520260,-520460,-520060,104,104,0.75 +3573,chaos,-520364,-517380,-517580,-517180,2984,2984,0 +3574,chaos,-520364,-523860,-524060,-523660,3496,-3496,0 +3575,chaos,-520364,-518860,-519060,-518660,1504,1504,0 +3576,chaos,-520364,-520240,-520440,-520040,124,124,0.7 +3577,chaos,-520364,-519040,-519240,-518840,1324,1324,0 +3578,chaos,-520364,-517300,-517500,-517100,3064,3064,0 +3579,chaos,-520364,-519200,-519400,-519000,1164,1164,0 +3580,chaos,-520364,-518540,-518740,-518340,1824,1824,0 +3581,chaos,-520364,-525260,-525460,-525060,4896,-4896,0 +3582,chaos,-520364,-517260,-517460,-517060,3104,3104,0 +3583,chaos,-520364,-517330,-517530,-517130,3034,3034,0 +3584,chaos,-520364,-515620,-515820,-515420,4744,4744,0 +3585,chaos,-520364,-525130,-525330,-524930,4766,-4766,0 +3586,chaos,-520364,-515700,-515900,-515500,4664,4664,0 +3587,chaos,-520364,-524640,-524840,-524440,4276,-4276,0 +3588,chaos,-520364,-516600,-516800,-516400,3764,3764,0 +3589,chaos,-520364,-520500,-520700,-520300,136,-136,0.65 +3590,chaos,-520364,-515410,-515610,-515210,4954,4954,0 +3591,chaos,-520364,-522670,-522870,-522470,2306,-2306,0 +3592,chaos,-520364,-522860,-523060,-522660,2496,-2496,0 +3593,chaos,-520364,-515820,-516020,-515620,4544,4544,0 +3594,chaos,-520364,-518100,-518300,-517900,2264,2264,0 +3595,chaos,-520364,-518310,-518510,-518110,2054,2054,0 +3596,chaos,-520364,-516220,-516420,-516020,4144,4144,0 +3597,chaos,-520364,-521900,-522100,-521700,1536,-1536,0 +3598,chaos,-520364,-525260,-525460,-525060,4896,-4896,0 +3599,chaos,-520364,-518300,-518500,-518100,2064,2064,0 +3600,chaos,-520364,-522160,-522360,-521960,1796,-1796,0 +3601,chaos,-520364,-516800,-517000,-516600,3564,3564,0 +3602,chaos,-520364,-519080,-519280,-518880,1284,1284,0 +3603,chaos,-520364,-524530,-524730,-524330,4166,-4166,0 +3604,chaos,-520364,-516790,-516990,-516590,3574,3574,0 +3605,chaos,-520364,-525230,-525430,-525030,4866,-4866,0 +3606,chaos,-520364,-522210,-522410,-522010,1846,-1846,0 +3607,chaos,-520364,-518710,-518910,-518510,1654,1654,0 +3608,chaos,-520364,-520300,-520500,-520100,64,64,0.85 +3609,chaos,-520364,-520480,-520680,-520280,116,-116,0.7 +3610,chaos,-520364,-519070,-519270,-518870,1294,1294,0 +3611,chaos,-520364,-522170,-522370,-521970,1806,-1806,0 +3612,chaos,-520364,-522250,-522450,-522050,1886,-1886,0 +3613,chaos,-520364,-521960,-522160,-521760,1596,-1596,0 +3614,chaos,-520364,-518620,-518820,-518420,1744,1744,0 +3615,chaos,-520364,-519000,-519200,-518800,1364,1364,0 +3616,chaos,-520364,-518100,-518300,-517900,2264,2264,0 +3617,chaos,-520364,-524800,-525000,-524600,4436,-4436,0 +3618,chaos,-520364,-523720,-523920,-523520,3356,-3356,0 +3619,chaos,-520364,-524890,-525090,-524690,4526,-4526,0 +3620,chaos,-520364,-517820,-518020,-517620,2544,2544,0 +3621,chaos,-520364,-517150,-517350,-516950,3214,3214,0 +3622,chaos,-520364,-525290,-525490,-525090,4926,-4926,0 +3623,chaos,-520364,-516560,-516760,-516360,3804,3804,0 +3624,chaos,-520364,-518370,-518570,-518170,1994,1994,0 +3625,chaos,-520364,-521140,-521340,-520940,776,-776,0 +3626,chaos,-520364,-516900,-517100,-516700,3464,3464,0 +3627,chaos,-520364,-524840,-525040,-524640,4476,-4476,0 +3628,chaos,-520364,-522510,-522710,-522310,2146,-2146,0 +3629,chaos,-520364,-521090,-521290,-520890,726,-726,0 +3630,chaos,-520364,-516220,-516420,-516020,4144,4144,0 +3631,chaos,-520364,-515820,-516020,-515620,4544,4544,0 +3632,chaos,-520364,-519020,-519220,-518820,1344,1344,0 +3633,chaos,-520364,-522530,-522730,-522330,2166,-2166,0 +3634,chaos,-520364,-524360,-524560,-524160,3996,-3996,0 +3635,chaos,-520364,-516690,-516890,-516490,3674,3674,0 +3636,chaos,-520364,-520060,-520260,-519860,304,304,0.25 +3637,chaos,-520364,-516650,-516850,-516450,3714,3714,0 +3638,chaos,-520364,-517920,-518120,-517720,2444,2444,0 +3639,chaos,-520364,-524120,-524320,-523920,3756,-3756,0 +3640,chaos,-520364,-520150,-520350,-519950,214,214,0.475 +3641,chaos,-520364,-521850,-522050,-521650,1486,-1486,0 +3642,chaos,-520364,-524200,-524400,-524000,3836,-3836,0 +3643,chaos,-520364,-521360,-521560,-521160,996,-996,0 +3644,chaos,-520364,-522000,-522200,-521800,1636,-1636,0 +3645,chaos,-520364,-516930,-517130,-516730,3434,3434,0 +3646,chaos,-520364,-517920,-518120,-517720,2444,2444,0 +3647,chaos,-520364,-519270,-519470,-519070,1094,1094,0 +3648,chaos,-520364,-518030,-518230,-517830,2334,2334,0 +3649,chaos,-520364,-519090,-519290,-518890,1274,1274,0 +3650,chaos,-520364,-519540,-519740,-519340,824,824,0 +3651,chaos,-520364,-515680,-515880,-515480,4684,4684,0 +3652,chaos,-520364,-516790,-516990,-516590,3574,3574,0 +3653,chaos,-520364,-516000,-516200,-515800,4364,4364,0 +3654,chaos,-520364,-517320,-517520,-517120,3044,3044,0 +3655,chaos,-520364,-516550,-516750,-516350,3814,3814,0 +3656,chaos,-520364,-522760,-522960,-522560,2396,-2396,0 +3657,chaos,-520364,-521690,-521890,-521490,1326,-1326,0 +3658,chaos,-520364,-519910,-520110,-519710,454,454,0 +3659,chaos,-520364,-525150,-525350,-524950,4786,-4786,0 +3660,chaos,-520364,-519670,-519870,-519470,694,694,0 +3661,chaos,-520364,-519940,-520140,-519740,424,424,0 +3662,chaos,-520364,-522260,-522460,-522060,1896,-1896,0 +3663,chaos,-520364,-518470,-518670,-518270,1894,1894,0 +3664,chaos,-520364,-519650,-519850,-519450,714,714,0 +3665,chaos,-520364,-516470,-516670,-516270,3894,3894,0 +3666,chaos,-520364,-524580,-524780,-524380,4216,-4216,0 +3667,chaos,-520364,-515710,-515910,-515510,4654,4654,0 +3668,chaos,-520364,-518360,-518560,-518160,2004,2004,0 +3669,chaos,-520364,-518590,-518790,-518390,1774,1774,0 +3670,chaos,-520364,-523160,-523360,-522960,2796,-2796,0 +3671,chaos,-520364,-516100,-516300,-515900,4264,4264,0 +3672,chaos,-520364,-517840,-518040,-517640,2524,2524,0 +3673,chaos,-520364,-523520,-523720,-523320,3156,-3156,0 +3674,chaos,-520364,-521900,-522100,-521700,1536,-1536,0 +3675,chaos,-520364,-518100,-518300,-517900,2264,2264,0 +3676,chaos,-520364,-518880,-519080,-518680,1484,1484,0 +3677,chaos,-520364,-522020,-522220,-521820,1656,-1656,0 +3678,chaos,-520364,-517770,-517970,-517570,2594,2594,0 +3679,chaos,-520364,-516660,-516860,-516460,3704,3704,0 +3680,chaos,-520364,-522330,-522530,-522130,1966,-1966,0 +3681,chaos,-520364,-520640,-520840,-520440,276,-276,0.3 +3682,chaos,-520364,-517080,-517280,-516880,3284,3284,0 +3683,chaos,-520364,-518760,-518960,-518560,1604,1604,0 +3684,chaos,-520364,-523280,-523480,-523080,2916,-2916,0 +3685,chaos,-520364,-522280,-522480,-522080,1916,-1916,0 +3686,chaos,-520364,-517070,-517270,-516870,3294,3294,0 +3687,chaos,-520364,-525180,-525380,-524980,4816,-4816,0 +3688,chaos,-520364,-520050,-520250,-519850,314,314,0.225 +3689,chaos,-520364,-524060,-524260,-523860,3696,-3696,0 +3690,chaos,-520364,-522280,-522480,-522080,1916,-1916,0 +3691,chaos,-520364,-517950,-518150,-517750,2414,2414,0 +3692,chaos,-520364,-523860,-524060,-523660,3496,-3496,0 +3693,chaos,-520364,-521640,-521840,-521440,1276,-1276,0 +3694,chaos,-520364,-515640,-515840,-515440,4724,4724,0 +3695,chaos,-520364,-523200,-523400,-523000,2836,-2836,0 +3696,chaos,-520364,-525080,-525280,-524880,4716,-4716,0 +3697,chaos,-520364,-517330,-517530,-517130,3034,3034,0 +3698,chaos,-520364,-520210,-520410,-520010,154,154,0.625 +3699,chaos,-520364,-520570,-520770,-520370,206,-206,0.475 +3700,chaos,-520364,-520420,-520620,-520220,56,-56,0.85 +3701,chaos,-520364,-524220,-524420,-524020,3856,-3856,0 +3702,chaos,-520364,-518550,-518750,-518350,1814,1814,0 +3703,chaos,-520364,-525270,-525470,-525070,4906,-4906,0 +3704,chaos,-520364,-522000,-522200,-521800,1636,-1636,0 +3705,chaos,-520364,-517710,-517910,-517510,2654,2654,0 +3706,chaos,-520364,-520680,-520880,-520480,316,-316,0.2 +3707,chaos,-520364,-523110,-523310,-522910,2746,-2746,0 +3708,chaos,-520364,-523090,-523290,-522890,2726,-2726,0 +3709,chaos,-520364,-516370,-516570,-516170,3994,3994,0 +3710,chaos,-520364,-522070,-522270,-521870,1706,-1706,0 +3711,chaos,-520364,-521870,-522070,-521670,1506,-1506,0 +3712,chaos,-520364,-517170,-517370,-516970,3194,3194,0 +3713,chaos,-520364,-524790,-524990,-524590,4426,-4426,0 +3714,chaos,-520364,-523670,-523870,-523470,3306,-3306,0 +3715,chaos,-520364,-524700,-524900,-524500,4336,-4336,0 +3716,chaos,-520364,-523260,-523460,-523060,2896,-2896,0 +3717,chaos,-520364,-518370,-518570,-518170,1994,1994,0 +3718,chaos,-520364,-520880,-521080,-520680,516,-516,0 +3719,chaos,-520364,-516270,-516470,-516070,4094,4094,0 +3720,chaos,-520364,-524820,-525020,-524620,4456,-4456,0 +3721,chaos,-520364,-516060,-516260,-515860,4304,4304,0 +3722,chaos,-520364,-518980,-519180,-518780,1384,1384,0 +3723,chaos,-520364,-517320,-517520,-517120,3044,3044,0 +3724,chaos,-520364,-520400,-520600,-520200,36,-36,0.9 +3725,chaos,-520364,-520920,-521120,-520720,556,-556,0 +3726,chaos,-520364,-515950,-516150,-515750,4414,4414,0 +3727,chaos,-520364,-520340,-520540,-520140,24,24,0.95 +3728,chaos,-520364,-517670,-517870,-517470,2694,2694,0 +3729,chaos,-520364,-521520,-521720,-521320,1156,-1156,0 +3730,chaos,-520364,-521030,-521230,-520830,666,-666,0 +3731,chaos,-520364,-518010,-518210,-517810,2354,2354,0 +3732,chaos,-520364,-515500,-515700,-515300,4864,4864,0 +3733,chaos,-520364,-520420,-520620,-520220,56,-56,0.85 +3734,chaos,-520364,-516930,-517130,-516730,3434,3434,0 +3735,chaos,-520364,-522800,-523000,-522600,2436,-2436,0 +3736,chaos,-520364,-520510,-520710,-520310,146,-146,0.625 +3737,chaos,-520364,-523960,-524160,-523760,3596,-3596,0 +3738,chaos,-520364,-515570,-515770,-515370,4794,4794,0 +3739,chaos,-520364,-522220,-522420,-522020,1856,-1856,0 +3740,chaos,-520364,-517040,-517240,-516840,3324,3324,0 +3741,chaos,-520364,-515640,-515840,-515440,4724,4724,0 +3742,chaos,-520364,-517640,-517840,-517440,2724,2724,0 +3743,chaos,-520364,-517970,-518170,-517770,2394,2394,0 +3744,chaos,-520364,-522860,-523060,-522660,2496,-2496,0 +3745,chaos,-520364,-518880,-519080,-518680,1484,1484,0 +3746,chaos,-520364,-515580,-515780,-515380,4784,4784,0 +3747,chaos,-520364,-517980,-518180,-517780,2384,2384,0 +3748,chaos,-520364,-520740,-520940,-520540,376,-376,0.05 +3749,chaos,-520364,-521350,-521550,-521150,986,-986,0 +3750,chaos,-520364,-515780,-515980,-515580,4584,4584,0 +3751,chaos,-520364,-520030,-520230,-519830,334,334,0.175 +3752,chaos,-520364,-523630,-523830,-523430,3266,-3266,0 +3753,chaos,-520364,-521190,-521390,-520990,826,-826,0 +3754,chaos,-520364,-518940,-519140,-518740,1424,1424,0 +3755,chaos,-520364,-518570,-518770,-518370,1794,1794,0 +3756,chaos,-520364,-517550,-517750,-517350,2814,2814,0 +3757,chaos,-520364,-518480,-518680,-518280,1884,1884,0 +3758,chaos,-520364,-519710,-519910,-519510,654,654,0 +3759,chaos,-520364,-518440,-518640,-518240,1924,1924,0 +3760,chaos,-520364,-522490,-522690,-522290,2126,-2126,0 +3761,chaos,-520364,-516590,-516790,-516390,3774,3774,0 +3762,chaos,-520364,-523030,-523230,-522830,2666,-2666,0 +3763,chaos,-520364,-520940,-521140,-520740,576,-576,0 +3764,chaos,-520364,-520470,-520670,-520270,106,-106,0.725 +3765,chaos,-520364,-515880,-516080,-515680,4484,4484,0 +3766,chaos,-520364,-524390,-524590,-524190,4026,-4026,0 +3767,chaos,-520364,-515550,-515750,-515350,4814,4814,0 +3768,chaos,-520364,-521830,-522030,-521630,1466,-1466,0 +3769,chaos,-520364,-524930,-525130,-524730,4566,-4566,0 +3770,chaos,-520364,-515560,-515760,-515360,4804,4804,0 +3771,chaos,-520364,-525280,-525480,-525080,4916,-4916,0 +3772,chaos,-520364,-522840,-523040,-522640,2476,-2476,0 +3773,chaos,-520364,-515770,-515970,-515570,4594,4594,0 +3774,chaos,-520364,-523370,-523570,-523170,3006,-3006,0 +3775,chaos,-520364,-523800,-524000,-523600,3436,-3436,0 +3776,chaos,-520364,-521760,-521960,-521560,1396,-1396,0 +3777,chaos,-520364,-515570,-515770,-515370,4794,4794,0 +3778,chaos,-520364,-521420,-521620,-521220,1056,-1056,0 +3779,chaos,-520364,-517470,-517670,-517270,2894,2894,0 +3780,chaos,-520364,-522740,-522940,-522540,2376,-2376,0 +3781,chaos,-520364,-523220,-523420,-523020,2856,-2856,0 +3782,chaos,-520364,-522900,-523100,-522700,2536,-2536,0 +3783,chaos,-520364,-524720,-524920,-524520,4356,-4356,0 +3784,chaos,-520364,-518870,-519070,-518670,1494,1494,0 +3785,chaos,-520364,-518400,-518600,-518200,1964,1964,0 +3786,chaos,-520364,-522120,-522320,-521920,1756,-1756,0 +3787,chaos,-520364,-517680,-517880,-517480,2684,2684,0 +3788,chaos,-520364,-519370,-519570,-519170,994,994,0 +3789,chaos,-520364,-519640,-519840,-519440,724,724,0 +3790,chaos,-520364,-519320,-519520,-519120,1044,1044,0 +3791,chaos,-520364,-519150,-519350,-518950,1214,1214,0 +3792,chaos,-520364,-518430,-518630,-518230,1934,1934,0 +3793,chaos,-520364,-517690,-517890,-517490,2674,2674,0 +3794,chaos,-520364,-520850,-521050,-520650,486,-486,0 +3795,chaos,-520364,-516330,-516530,-516130,4034,4034,0 +3796,chaos,-520364,-515890,-516090,-515690,4474,4474,0 +3797,chaos,-520364,-521780,-521980,-521580,1416,-1416,0 +3798,chaos,-520364,-521970,-522170,-521770,1606,-1606,0 +3799,chaos,-520364,-520330,-520530,-520130,34,34,0.925 +3800,chaos,-520364,-521090,-521290,-520890,726,-726,0 +3801,chaos,-520364,-524970,-525170,-524770,4606,-4606,0 +3802,chaos,-520364,-515990,-516190,-515790,4374,4374,0 +3803,chaos,-520364,-517990,-518190,-517790,2374,2374,0 +3804,chaos,-520364,-523400,-523600,-523200,3036,-3036,0 +3805,chaos,-520364,-521350,-521550,-521150,986,-986,0 +3806,chaos,-520364,-522770,-522970,-522570,2406,-2406,0 +3807,chaos,-520364,-519240,-519440,-519040,1124,1124,0 +3808,chaos,-520364,-522080,-522280,-521880,1716,-1716,0 +3809,chaos,-520364,-524050,-524250,-523850,3686,-3686,0 +3810,chaos,-520364,-518330,-518530,-518130,2034,2034,0 +3811,chaos,-520364,-518840,-519040,-518640,1524,1524,0 +3812,chaos,-520364,-519990,-520190,-519790,374,374,0.075 +3813,chaos,-520364,-523510,-523710,-523310,3146,-3146,0 +3814,chaos,-520364,-517310,-517510,-517110,3054,3054,0 +3815,chaos,-520364,-519850,-520050,-519650,514,514,0 +3816,chaos,-520364,-519150,-519350,-518950,1214,1214,0 +3817,chaos,-520364,-522970,-523170,-522770,2606,-2606,0 +3818,chaos,-520364,-518570,-518770,-518370,1794,1794,0 +3819,chaos,-520364,-522690,-522890,-522490,2326,-2326,0 +3820,chaos,-520364,-521760,-521960,-521560,1396,-1396,0 +3821,chaos,-520364,-519820,-520020,-519620,544,544,0 +3822,chaos,-520364,-518090,-518290,-517890,2274,2274,0 +3823,chaos,-520364,-515810,-516010,-515610,4554,4554,0 +3824,chaos,-520364,-521380,-521580,-521180,1016,-1016,0 +3825,chaos,-520364,-523380,-523580,-523180,3016,-3016,0 +3826,chaos,-520364,-515530,-515730,-515330,4834,4834,0 +3827,chaos,-520364,-518010,-518210,-517810,2354,2354,0 +3828,chaos,-520364,-520840,-521040,-520640,476,-476,0 +3829,chaos,-520364,-517280,-517480,-517080,3084,3084,0 +3830,chaos,-520364,-517680,-517880,-517480,2684,2684,0 +3831,chaos,-520364,-518010,-518210,-517810,2354,2354,0 +3832,chaos,-520364,-523380,-523580,-523180,3016,-3016,0 +3833,chaos,-520364,-524340,-524540,-524140,3976,-3976,0 +3834,chaos,-520364,-517810,-518010,-517610,2554,2554,0 +3835,chaos,-520364,-522650,-522850,-522450,2286,-2286,0 +3836,chaos,-520364,-522960,-523160,-522760,2596,-2596,0 +3837,chaos,-520364,-518140,-518340,-517940,2224,2224,0 +3838,chaos,-520364,-524320,-524520,-524120,3956,-3956,0 +3839,chaos,-520364,-518560,-518760,-518360,1804,1804,0 +3840,chaos,-520364,-523800,-524000,-523600,3436,-3436,0 +3841,chaos,-520364,-520300,-520500,-520100,64,64,0.85 +3842,chaos,-520364,-522740,-522940,-522540,2376,-2376,0 +3843,chaos,-520364,-521190,-521390,-520990,826,-826,0 +3844,chaos,-520364,-523480,-523680,-523280,3116,-3116,0 +3845,chaos,-520364,-521280,-521480,-521080,916,-916,0 +3846,chaos,-520364,-522790,-522990,-522590,2426,-2426,0 +3847,chaos,-520364,-518360,-518560,-518160,2004,2004,0 +3848,chaos,-520364,-518640,-518840,-518440,1724,1724,0 +3849,chaos,-520364,-520760,-520960,-520560,396,-396,0 +3850,chaos,-520364,-522940,-523140,-522740,2576,-2576,0 +3851,chaos,-520364,-522190,-522390,-521990,1826,-1826,0 +3852,chaos,-520364,-525050,-525250,-524850,4686,-4686,0 +3853,chaos,-520364,-517680,-517880,-517480,2684,2684,0 +3854,chaos,-520364,-521700,-521900,-521500,1336,-1336,0 +3855,chaos,-520364,-519670,-519870,-519470,694,694,0 +3856,chaos,-520364,-522140,-522340,-521940,1776,-1776,0 +3857,chaos,-520364,-515440,-515640,-515240,4924,4924,0 +3858,chaos,-520364,-520000,-520200,-519800,364,364,0.1 +3859,chaos,-520364,-518210,-518410,-518010,2154,2154,0 +3860,chaos,-520364,-522710,-522910,-522510,2346,-2346,0 +3861,chaos,-520364,-518080,-518280,-517880,2284,2284,0 +3862,chaos,-520364,-516980,-517180,-516780,3384,3384,0 +3863,chaos,-520364,-520720,-520920,-520520,356,-356,0.1 +3864,chaos,-520364,-519510,-519710,-519310,854,854,0 +3865,chaos,-520364,-522990,-523190,-522790,2626,-2626,0 +3866,chaos,-520364,-517180,-517380,-516980,3184,3184,0 +3867,chaos,-520364,-522950,-523150,-522750,2586,-2586,0 +3868,chaos,-520364,-518490,-518690,-518290,1874,1874,0 +3869,chaos,-520364,-518780,-518980,-518580,1584,1584,0 +3870,chaos,-520364,-516330,-516530,-516130,4034,4034,0 +3871,chaos,-520364,-525060,-525260,-524860,4696,-4696,0 +3872,chaos,-520364,-517720,-517920,-517520,2644,2644,0 +3873,chaos,-520364,-521290,-521490,-521090,926,-926,0 +3874,chaos,-520364,-517340,-517540,-517140,3024,3024,0 +3875,chaos,-520364,-522350,-522550,-522150,1986,-1986,0 +3876,chaos,-520364,-522630,-522830,-522430,2266,-2266,0 +3877,chaos,-520364,-517490,-517690,-517290,2874,2874,0 +3878,chaos,-520364,-521460,-521660,-521260,1096,-1096,0 +3879,chaos,-520364,-518330,-518530,-518130,2034,2034,0 +3880,chaos,-520364,-520750,-520950,-520550,386,-386,0.025 +3881,chaos,-520364,-519630,-519830,-519430,734,734,0 +3882,chaos,-520364,-516260,-516460,-516060,4104,4104,0 +3883,chaos,-520364,-519990,-520190,-519790,374,374,0.075 +3884,chaos,-520364,-518770,-518970,-518570,1594,1594,0 +3885,chaos,-520364,-521260,-521460,-521060,896,-896,0 +3886,chaos,-520364,-516910,-517110,-516710,3454,3454,0 +3887,chaos,-520364,-519070,-519270,-518870,1294,1294,0 +3888,chaos,-520364,-521740,-521940,-521540,1376,-1376,0 +3889,chaos,-520364,-520740,-520940,-520540,376,-376,0.05 +3890,chaos,-520364,-523760,-523960,-523560,3396,-3396,0 +3891,chaos,-520364,-524630,-524830,-524430,4266,-4266,0 +3892,chaos,-520364,-517600,-517800,-517400,2764,2764,0 +3893,chaos,-520364,-516350,-516550,-516150,4014,4014,0 +3894,chaos,-520364,-522940,-523140,-522740,2576,-2576,0 +3895,chaos,-520364,-518790,-518990,-518590,1574,1574,0 +3896,chaos,-520364,-520270,-520470,-520070,94,94,0.775 +3897,chaos,-520364,-517360,-517560,-517160,3004,3004,0 +3898,chaos,-520364,-522290,-522490,-522090,1926,-1926,0 +3899,chaos,-520364,-519320,-519520,-519120,1044,1044,0 +3900,chaos,-520364,-515570,-515770,-515370,4794,4794,0 +3901,chaos,-520364,-515410,-515610,-515210,4954,4954,0 +3902,chaos,-520364,-516490,-516690,-516290,3874,3874,0 +3903,chaos,-520364,-517550,-517750,-517350,2814,2814,0 +3904,chaos,-520364,-520550,-520750,-520350,186,-186,0.525 +3905,chaos,-520364,-517040,-517240,-516840,3324,3324,0 +3906,chaos,-520364,-515950,-516150,-515750,4414,4414,0 +3907,chaos,-520364,-523620,-523820,-523420,3256,-3256,0 +3908,chaos,-520364,-524890,-525090,-524690,4526,-4526,0 +3909,chaos,-520364,-517520,-517720,-517320,2844,2844,0 +3910,chaos,-520364,-515600,-515800,-515400,4764,4764,0 +3911,chaos,-520364,-521340,-521540,-521140,976,-976,0 +3912,chaos,-520364,-524960,-525160,-524760,4596,-4596,0 +3913,chaos,-520364,-517950,-518150,-517750,2414,2414,0 +3914,chaos,-520364,-516890,-517090,-516690,3474,3474,0 +3915,chaos,-520364,-519480,-519680,-519280,884,884,0 +3916,chaos,-520364,-515930,-516130,-515730,4434,4434,0 +3917,chaos,-520364,-516520,-516720,-516320,3844,3844,0 +3918,chaos,-520364,-521930,-522130,-521730,1566,-1566,0 +3919,chaos,-520364,-523280,-523480,-523080,2916,-2916,0 +3920,chaos,-520364,-524730,-524930,-524530,4366,-4366,0 +3921,chaos,-520364,-517900,-518100,-517700,2464,2464,0 +3922,chaos,-520364,-521380,-521580,-521180,1016,-1016,0 +3923,chaos,-520364,-524210,-524410,-524010,3846,-3846,0 +3924,chaos,-520364,-518420,-518620,-518220,1944,1944,0 +3925,chaos,-520364,-524660,-524860,-524460,4296,-4296,0 +3926,chaos,-520364,-517740,-517940,-517540,2624,2624,0 +3927,chaos,-520364,-520920,-521120,-520720,556,-556,0 +3928,chaos,-520364,-521760,-521960,-521560,1396,-1396,0 +3929,chaos,-520364,-524210,-524410,-524010,3846,-3846,0 +3930,chaos,-520364,-524670,-524870,-524470,4306,-4306,0 +3931,chaos,-520364,-518320,-518520,-518120,2044,2044,0 +3932,chaos,-520364,-522030,-522230,-521830,1666,-1666,0 +3933,chaos,-520364,-520560,-520760,-520360,196,-196,0.5 +3934,chaos,-520364,-515380,-515580,-515180,4984,4984,0 +3935,chaos,-520364,-523940,-524140,-523740,3576,-3576,0 +3936,chaos,-520364,-517690,-517890,-517490,2674,2674,0 +3937,chaos,-520364,-515590,-515790,-515390,4774,4774,0 +3938,chaos,-520364,-518230,-518430,-518030,2134,2134,0 +3939,chaos,-520364,-515740,-515940,-515540,4624,4624,0 +3940,chaos,-520364,-515970,-516170,-515770,4394,4394,0 +3941,chaos,-520364,-524230,-524430,-524030,3866,-3866,0 +3942,chaos,-520364,-518040,-518240,-517840,2324,2324,0 +3943,chaos,-520364,-517970,-518170,-517770,2394,2394,0 +3944,chaos,-520364,-518570,-518770,-518370,1794,1794,0 +3945,chaos,-520364,-518630,-518830,-518430,1734,1734,0 +3946,chaos,-520364,-519750,-519950,-519550,614,614,0 +3947,chaos,-520364,-520600,-520800,-520400,236,-236,0.4 +3948,chaos,-520364,-523720,-523920,-523520,3356,-3356,0 +3949,chaos,-520364,-515830,-516030,-515630,4534,4534,0 +3950,chaos,-520364,-520940,-521140,-520740,576,-576,0 +3951,chaos,-520364,-524310,-524510,-524110,3946,-3946,0 +3952,chaos,-520364,-522830,-523030,-522630,2466,-2466,0 +3953,chaos,-520364,-518760,-518960,-518560,1604,1604,0 +3954,chaos,-520364,-522470,-522670,-522270,2106,-2106,0 +3955,chaos,-520364,-520300,-520500,-520100,64,64,0.85 +3956,chaos,-520364,-523250,-523450,-523050,2886,-2886,0 +3957,chaos,-520364,-521140,-521340,-520940,776,-776,0 +3958,chaos,-520364,-522440,-522640,-522240,2076,-2076,0 +3959,chaos,-520364,-523340,-523540,-523140,2976,-2976,0 +3960,chaos,-520364,-518790,-518990,-518590,1574,1574,0 +3961,chaos,-520364,-516960,-517160,-516760,3404,3404,0 +3962,chaos,-520364,-523290,-523490,-523090,2926,-2926,0 +3963,chaos,-520364,-515550,-515750,-515350,4814,4814,0 +3964,chaos,-520364,-524110,-524310,-523910,3746,-3746,0 +3965,chaos,-520364,-523130,-523330,-522930,2766,-2766,0 +3966,chaos,-520364,-516580,-516780,-516380,3784,3784,0 +3967,chaos,-520364,-523560,-523760,-523360,3196,-3196,0 +3968,chaos,-520364,-523750,-523950,-523550,3386,-3386,0 +3969,chaos,-520364,-522700,-522900,-522500,2336,-2336,0 +3970,chaos,-520364,-524220,-524420,-524020,3856,-3856,0 +3971,chaos,-520364,-523470,-523670,-523270,3106,-3106,0 +3972,chaos,-520364,-517750,-517950,-517550,2614,2614,0 +3973,chaos,-520364,-522400,-522600,-522200,2036,-2036,0 +3974,chaos,-520364,-517420,-517620,-517220,2944,2944,0 +3975,chaos,-520364,-520310,-520510,-520110,54,54,0.875 +3976,chaos,-520364,-524600,-524800,-524400,4236,-4236,0 +3977,chaos,-520364,-519820,-520020,-519620,544,544,0 +3978,chaos,-520364,-523660,-523860,-523460,3296,-3296,0 +3979,chaos,-520364,-517210,-517410,-517010,3154,3154,0 +3980,chaos,-520364,-517760,-517960,-517560,2604,2604,0 +3981,chaos,-520364,-521180,-521380,-520980,816,-816,0 +3982,chaos,-520364,-525250,-525450,-525050,4886,-4886,0 +3983,chaos,-520364,-523530,-523730,-523330,3166,-3166,0 +3984,chaos,-520364,-524430,-524630,-524230,4066,-4066,0 +3985,chaos,-520364,-516080,-516280,-515880,4284,4284,0 +3986,chaos,-520364,-517970,-518170,-517770,2394,2394,0 +3987,chaos,-520364,-524230,-524430,-524030,3866,-3866,0 +3988,chaos,-520364,-516610,-516810,-516410,3754,3754,0 +3989,chaos,-520364,-519040,-519240,-518840,1324,1324,0 +3990,chaos,-520364,-518510,-518710,-518310,1854,1854,0 +3991,chaos,-520364,-519260,-519460,-519060,1104,1104,0 +3992,chaos,-520364,-516940,-517140,-516740,3424,3424,0 +3993,chaos,-520364,-519480,-519680,-519280,884,884,0 +3994,chaos,-520364,-523980,-524180,-523780,3616,-3616,0 +3995,chaos,-520364,-521300,-521500,-521100,936,-936,0 +3996,chaos,-520364,-525230,-525430,-525030,4866,-4866,0 +3997,chaos,-520364,-519860,-520060,-519660,504,504,0 +3998,chaos,-520364,-524160,-524360,-523960,3796,-3796,0 +3999,chaos,-520364,-518910,-519110,-518710,1454,1454,0 +4000,chaos,-520364,-519070,-519270,-518870,1294,1294,0 +4001,chaos,-520364,-517470,-517670,-517270,2894,2894,0 +4002,chaos,-520364,-519520,-519720,-519320,844,844,0 +4003,chaos,-520364,-517130,-517330,-516930,3234,3234,0 +4004,chaos,-520364,-515800,-516000,-515600,4564,4564,0 +4005,chaos,-520364,-520780,-520980,-520580,416,-416,0 +4006,chaos,-520364,-522380,-522580,-522180,2016,-2016,0 +4007,chaos,-520364,-519020,-519220,-518820,1344,1344,0 +4008,chaos,-520364,-519230,-519430,-519030,1134,1134,0 +4009,chaos,-520364,-519520,-519720,-519320,844,844,0 +4010,chaos,-520364,-524530,-524730,-524330,4166,-4166,0 +4011,chaos,-520364,-516820,-517020,-516620,3544,3544,0 +4012,chaos,-520364,-519940,-520140,-519740,424,424,0 +4013,chaos,-520364,-519970,-520170,-519770,394,394,0.025 +4014,chaos,-520364,-520390,-520590,-520190,26,-26,0.925 +4015,chaos,-520364,-518040,-518240,-517840,2324,2324,0 +4016,chaos,-520364,-515830,-516030,-515630,4534,4534,0 +4017,chaos,-520364,-520350,-520550,-520150,14,14,0.975 +4018,chaos,-520364,-521900,-522100,-521700,1536,-1536,0 +4019,chaos,-520364,-523130,-523330,-522930,2766,-2766,0 +4020,chaos,-520364,-517910,-518110,-517710,2454,2454,0 +4021,chaos,-520364,-524350,-524550,-524150,3986,-3986,0 +4022,chaos,-520364,-518530,-518730,-518330,1834,1834,0 +4023,chaos,-520364,-524400,-524600,-524200,4036,-4036,0 +4024,chaos,-520364,-521110,-521310,-520910,746,-746,0 +4025,chaos,-520364,-516100,-516300,-515900,4264,4264,0 +4026,chaos,-520364,-516810,-517010,-516610,3554,3554,0 +4027,chaos,-520364,-524070,-524270,-523870,3706,-3706,0 +4028,chaos,-520364,-524560,-524760,-524360,4196,-4196,0 +4029,chaos,-520364,-520410,-520610,-520210,46,-46,0.875 +4030,chaos,-520364,-525270,-525470,-525070,4906,-4906,0 +4031,chaos,-520364,-522830,-523030,-522630,2466,-2466,0 +4032,chaos,-520364,-519310,-519510,-519110,1054,1054,0 +4033,chaos,-520364,-521090,-521290,-520890,726,-726,0 +4034,chaos,-520364,-516730,-516930,-516530,3634,3634,0 +4035,chaos,-520364,-518220,-518420,-518020,2144,2144,0 +4036,chaos,-520364,-524990,-525190,-524790,4626,-4626,0 +4037,chaos,-520364,-524430,-524630,-524230,4066,-4066,0 +4038,chaos,-520364,-516060,-516260,-515860,4304,4304,0 +4039,chaos,-520364,-520350,-520550,-520150,14,14,0.975 +4040,chaos,-520364,-521500,-521700,-521300,1136,-1136,0 +4041,chaos,-520364,-522910,-523110,-522710,2546,-2546,0 +4042,chaos,-520364,-524550,-524750,-524350,4186,-4186,0 +4043,chaos,-520364,-523570,-523770,-523370,3206,-3206,0 +4044,chaos,-520364,-515410,-515610,-515210,4954,4954,0 +4045,chaos,-520364,-523200,-523400,-523000,2836,-2836,0 +4046,chaos,-520364,-523140,-523340,-522940,2776,-2776,0 +4047,chaos,-520364,-515570,-515770,-515370,4794,4794,0 +4048,chaos,-520364,-518720,-518920,-518520,1644,1644,0 +4049,chaos,-520364,-518230,-518430,-518030,2134,2134,0 +4050,chaos,-520364,-515800,-516000,-515600,4564,4564,0 +4051,chaos,-520364,-516330,-516530,-516130,4034,4034,0 +4052,chaos,-520364,-518780,-518980,-518580,1584,1584,0 +4053,chaos,-520364,-515780,-515980,-515580,4584,4584,0 +4054,chaos,-520364,-524970,-525170,-524770,4606,-4606,0 +4055,chaos,-520364,-521960,-522160,-521760,1596,-1596,0 +4056,chaos,-520364,-516720,-516920,-516520,3644,3644,0 +4057,chaos,-520364,-518010,-518210,-517810,2354,2354,0 +4058,chaos,-520364,-523680,-523880,-523480,3316,-3316,0 +4059,chaos,-520364,-515390,-515590,-515190,4974,4974,0 +4060,chaos,-520364,-519670,-519870,-519470,694,694,0 +4061,chaos,-520364,-515860,-516060,-515660,4504,4504,0 +4062,chaos,-520364,-516350,-516550,-516150,4014,4014,0 +4063,chaos,-520364,-516350,-516550,-516150,4014,4014,0 +4064,chaos,-520364,-522290,-522490,-522090,1926,-1926,0 +4065,chaos,-520364,-519320,-519520,-519120,1044,1044,0 +4066,chaos,-520364,-520070,-520270,-519870,294,294,0.275 +4067,chaos,-520364,-522410,-522610,-522210,2046,-2046,0 +4068,chaos,-520364,-518390,-518590,-518190,1974,1974,0 +4069,chaos,-520364,-517410,-517610,-517210,2954,2954,0 +4070,chaos,-520364,-515890,-516090,-515690,4474,4474,0 +4071,chaos,-520364,-518650,-518850,-518450,1714,1714,0 +4072,chaos,-520364,-522180,-522380,-521980,1816,-1816,0 +4073,chaos,-520364,-523850,-524050,-523650,3486,-3486,0 +4074,chaos,-520364,-517420,-517620,-517220,2944,2944,0 +4075,chaos,-520364,-519790,-519990,-519590,574,574,0 +4076,chaos,-520364,-517090,-517290,-516890,3274,3274,0 +4077,chaos,-520364,-524230,-524430,-524030,3866,-3866,0 +4078,chaos,-520364,-515670,-515870,-515470,4694,4694,0 +4079,chaos,-520364,-519370,-519570,-519170,994,994,0 +4080,chaos,-520364,-519100,-519300,-518900,1264,1264,0 +4081,chaos,-520364,-523310,-523510,-523110,2946,-2946,0 +4082,chaos,-520364,-515520,-515720,-515320,4844,4844,0 +4083,chaos,-520364,-523140,-523340,-522940,2776,-2776,0 +4084,chaos,-520364,-520080,-520280,-519880,284,284,0.3 +4085,chaos,-520364,-522530,-522730,-522330,2166,-2166,0 +4086,chaos,-520364,-522350,-522550,-522150,1986,-1986,0 +4087,chaos,-520364,-521560,-521760,-521360,1196,-1196,0 +4088,chaos,-520364,-522110,-522310,-521910,1746,-1746,0 +4089,chaos,-520364,-521280,-521480,-521080,916,-916,0 +4090,chaos,-520364,-522710,-522910,-522510,2346,-2346,0 +4091,chaos,-520364,-518830,-519030,-518630,1534,1534,0 +4092,chaos,-520364,-523840,-524040,-523640,3476,-3476,0 +4093,chaos,-520364,-519510,-519710,-519310,854,854,0 +4094,chaos,-520364,-524490,-524690,-524290,4126,-4126,0 +4095,chaos,-520364,-516800,-517000,-516600,3564,3564,0 +4096,chaos,-520364,-516320,-516520,-516120,4044,4044,0 +4097,chaos,-520364,-515410,-515610,-515210,4954,4954,0 +4098,chaos,-520364,-516300,-516500,-516100,4064,4064,0 +4099,chaos,-520364,-520710,-520910,-520510,346,-346,0.125 +4100,chaos,-520364,-522210,-522410,-522010,1846,-1846,0 +4101,chaos,-520364,-518760,-518960,-518560,1604,1604,0 +4102,chaos,-520364,-525270,-525470,-525070,4906,-4906,0 +4103,chaos,-520364,-520350,-520550,-520150,14,14,0.975 +4104,chaos,-520364,-524080,-524280,-523880,3716,-3716,0 +4105,chaos,-520364,-515940,-516140,-515740,4424,4424,0 +4106,chaos,-520364,-520900,-521100,-520700,536,-536,0 +4107,chaos,-520364,-522250,-522450,-522050,1886,-1886,0 +4108,chaos,-520364,-521950,-522150,-521750,1586,-1586,0 +4109,chaos,-520364,-518010,-518210,-517810,2354,2354,0 +4110,chaos,-520364,-518810,-519010,-518610,1554,1554,0 +4111,chaos,-520364,-523970,-524170,-523770,3606,-3606,0 +4112,chaos,-520364,-516740,-516940,-516540,3624,3624,0 +4113,chaos,-520364,-517150,-517350,-516950,3214,3214,0 +4114,chaos,-520364,-515880,-516080,-515680,4484,4484,0 +4115,chaos,-520364,-519440,-519640,-519240,924,924,0 +4116,chaos,-520364,-518660,-518860,-518460,1704,1704,0 +4117,chaos,-520364,-517080,-517280,-516880,3284,3284,0 +4118,chaos,-520364,-524380,-524580,-524180,4016,-4016,0 +4119,chaos,-520364,-525150,-525350,-524950,4786,-4786,0 +4120,chaos,-520364,-519400,-519600,-519200,964,964,0 +4121,chaos,-520364,-521490,-521690,-521290,1126,-1126,0 +4122,chaos,-520364,-520000,-520200,-519800,364,364,0.1 +4123,chaos,-520364,-515660,-515860,-515460,4704,4704,0 +4124,chaos,-520364,-518940,-519140,-518740,1424,1424,0 +4125,chaos,-520364,-517710,-517910,-517510,2654,2654,0 +4126,chaos,-520364,-524880,-525080,-524680,4516,-4516,0 +4127,chaos,-520364,-524570,-524770,-524370,4206,-4206,0 +4128,chaos,-520364,-522160,-522360,-521960,1796,-1796,0 +4129,chaos,-520364,-516030,-516230,-515830,4334,4334,0 +4130,chaos,-520364,-522700,-522900,-522500,2336,-2336,0 +4131,chaos,-520364,-516090,-516290,-515890,4274,4274,0 +4132,chaos,-520364,-523370,-523570,-523170,3006,-3006,0 +4133,chaos,-520364,-523260,-523460,-523060,2896,-2896,0 +4134,chaos,-520364,-522020,-522220,-521820,1656,-1656,0 +4135,chaos,-520364,-515620,-515820,-515420,4744,4744,0 +4136,chaos,-520364,-516070,-516270,-515870,4294,4294,0 +4137,chaos,-520364,-521640,-521840,-521440,1276,-1276,0 +4138,chaos,-520364,-519530,-519730,-519330,834,834,0 +4139,chaos,-520364,-525170,-525370,-524970,4806,-4806,0 +4140,chaos,-520364,-519330,-519530,-519130,1034,1034,0 +4141,chaos,-520364,-521890,-522090,-521690,1526,-1526,0 +4142,chaos,-520364,-519090,-519290,-518890,1274,1274,0 +4143,chaos,-520364,-521580,-521780,-521380,1216,-1216,0 +4144,chaos,-520364,-522420,-522620,-522220,2056,-2056,0 +4145,chaos,-520364,-522540,-522740,-522340,2176,-2176,0 +4146,chaos,-520364,-523230,-523430,-523030,2866,-2866,0 +4147,chaos,-520364,-515380,-515580,-515180,4984,4984,0 +4148,chaos,-520364,-517380,-517580,-517180,2984,2984,0 +4149,chaos,-520364,-516150,-516350,-515950,4214,4214,0 +4150,chaos,-520364,-516530,-516730,-516330,3834,3834,0 +4151,chaos,-520364,-518140,-518340,-517940,2224,2224,0 +4152,chaos,-520364,-518920,-519120,-518720,1444,1444,0 +4153,chaos,-520364,-517000,-517200,-516800,3364,3364,0 +4154,chaos,-520364,-522780,-522980,-522580,2416,-2416,0 +4155,chaos,-520364,-520560,-520760,-520360,196,-196,0.5 +4156,chaos,-520364,-518130,-518330,-517930,2234,2234,0 +4157,chaos,-520364,-515890,-516090,-515690,4474,4474,0 +4158,chaos,-520364,-516810,-517010,-516610,3554,3554,0 +4159,chaos,-520364,-519400,-519600,-519200,964,964,0 +4160,chaos,-520364,-523620,-523820,-523420,3256,-3256,0 +4161,chaos,-520364,-522230,-522430,-522030,1866,-1866,0 +4162,chaos,-520364,-521840,-522040,-521640,1476,-1476,0 +4163,chaos,-520364,-522390,-522590,-522190,2026,-2026,0 +4164,chaos,-520364,-523870,-524070,-523670,3506,-3506,0 +4165,chaos,-520364,-515760,-515960,-515560,4604,4604,0 +4166,chaos,-520364,-523390,-523590,-523190,3026,-3026,0 +4167,chaos,-520364,-517850,-518050,-517650,2514,2514,0 +4168,chaos,-520364,-521750,-521950,-521550,1386,-1386,0 +4169,chaos,-520364,-517420,-517620,-517220,2944,2944,0 +4170,chaos,-520364,-523790,-523990,-523590,3426,-3426,0 +4171,chaos,-520364,-521830,-522030,-521630,1466,-1466,0 +4172,chaos,-520364,-519730,-519930,-519530,634,634,0 +4173,chaos,-520364,-519870,-520070,-519670,494,494,0 +4174,chaos,-520364,-524390,-524590,-524190,4026,-4026,0 +4175,chaos,-520364,-517020,-517220,-516820,3344,3344,0 +4176,chaos,-520364,-521660,-521860,-521460,1296,-1296,0 +4177,chaos,-520364,-516420,-516620,-516220,3944,3944,0 +4178,chaos,-520364,-519400,-519600,-519200,964,964,0 +4179,chaos,-520364,-518670,-518870,-518470,1694,1694,0 +4180,chaos,-520364,-523900,-524100,-523700,3536,-3536,0 +4181,chaos,-520364,-524380,-524580,-524180,4016,-4016,0 +4182,chaos,-520364,-524000,-524200,-523800,3636,-3636,0 +4183,chaos,-520364,-520590,-520790,-520390,226,-226,0.425 +4184,chaos,-520364,-521560,-521760,-521360,1196,-1196,0 +4185,chaos,-520364,-522620,-522820,-522420,2256,-2256,0 +4186,chaos,-520364,-517220,-517420,-517020,3144,3144,0 +4187,chaos,-520364,-515470,-515670,-515270,4894,4894,0 +4188,chaos,-520364,-522320,-522520,-522120,1956,-1956,0 +4189,chaos,-520364,-518420,-518620,-518220,1944,1944,0 +4190,chaos,-520364,-523670,-523870,-523470,3306,-3306,0 +4191,chaos,-520364,-519180,-519380,-518980,1184,1184,0 +4192,chaos,-520364,-522700,-522900,-522500,2336,-2336,0 +4193,chaos,-520364,-519210,-519410,-519010,1154,1154,0 +4194,chaos,-520364,-525360,-525560,-525160,4996,-4996,0 +4195,chaos,-520364,-519260,-519460,-519060,1104,1104,0 +4196,chaos,-520364,-516920,-517120,-516720,3444,3444,0 +4197,chaos,-520364,-522830,-523030,-522630,2466,-2466,0 +4198,chaos,-520364,-518370,-518570,-518170,1994,1994,0 +4199,chaos,-520364,-521460,-521660,-521260,1096,-1096,0 +4200,chaos,-520364,-520390,-520590,-520190,26,-26,0.925 +4201,chaos,-520364,-524770,-524970,-524570,4406,-4406,0 +4202,chaos,-520364,-524290,-524490,-524090,3926,-3926,0 +4203,chaos,-520364,-521910,-522110,-521710,1546,-1546,0 +4204,chaos,-520364,-524390,-524590,-524190,4026,-4026,0 +4205,chaos,-520364,-516690,-516890,-516490,3674,3674,0 +4206,chaos,-520364,-521890,-522090,-521690,1526,-1526,0 +4207,chaos,-520364,-523010,-523210,-522810,2646,-2646,0 +4208,chaos,-520364,-517870,-518070,-517670,2494,2494,0 +4209,chaos,-520364,-522130,-522330,-521930,1766,-1766,0 +4210,chaos,-520364,-517310,-517510,-517110,3054,3054,0 +4211,chaos,-520364,-519460,-519660,-519260,904,904,0 +4212,chaos,-520364,-518750,-518950,-518550,1614,1614,0 +4213,chaos,-520364,-516820,-517020,-516620,3544,3544,0 +4214,chaos,-520364,-524350,-524550,-524150,3986,-3986,0 +4215,chaos,-520364,-522630,-522830,-522430,2266,-2266,0 +4216,chaos,-520364,-520200,-520400,-520000,164,164,0.6 +4217,chaos,-520364,-515780,-515980,-515580,4584,4584,0 +4218,chaos,-520364,-519400,-519600,-519200,964,964,0 +4219,chaos,-520364,-518620,-518820,-518420,1744,1744,0 +4220,chaos,-520364,-524010,-524210,-523810,3646,-3646,0 +4221,chaos,-520364,-519200,-519400,-519000,1164,1164,0 +4222,chaos,-520364,-524300,-524500,-524100,3936,-3936,0 +4223,chaos,-520364,-523700,-523900,-523500,3336,-3336,0 +4224,chaos,-520364,-519070,-519270,-518870,1294,1294,0 +4225,chaos,-520364,-522050,-522250,-521850,1686,-1686,0 +4226,chaos,-520364,-523610,-523810,-523410,3246,-3246,0 +4227,chaos,-520364,-522290,-522490,-522090,1926,-1926,0 +4228,chaos,-520364,-516450,-516650,-516250,3914,3914,0 +4229,chaos,-520364,-518390,-518590,-518190,1974,1974,0 +4230,chaos,-520364,-519100,-519300,-518900,1264,1264,0 +4231,chaos,-520364,-516220,-516420,-516020,4144,4144,0 +4232,chaos,-520364,-523890,-524090,-523690,3526,-3526,0 +4233,chaos,-520364,-524940,-525140,-524740,4576,-4576,0 +4234,chaos,-520364,-515530,-515730,-515330,4834,4834,0 +4235,chaos,-520364,-519970,-520170,-519770,394,394,0.025 +4236,chaos,-520364,-520330,-520530,-520130,34,34,0.925 +4237,chaos,-520364,-525080,-525280,-524880,4716,-4716,0 +4238,chaos,-520364,-522330,-522530,-522130,1966,-1966,0 +4239,chaos,-520364,-525170,-525370,-524970,4806,-4806,0 +4240,chaos,-520364,-523030,-523230,-522830,2666,-2666,0 +4241,chaos,-520364,-523310,-523510,-523110,2946,-2946,0 +4242,chaos,-520364,-523850,-524050,-523650,3486,-3486,0 +4243,chaos,-520364,-518490,-518690,-518290,1874,1874,0 +4244,chaos,-520364,-518070,-518270,-517870,2294,2294,0 +4245,chaos,-520364,-518440,-518640,-518240,1924,1924,0 +4246,chaos,-520364,-517820,-518020,-517620,2544,2544,0 +4247,chaos,-520364,-519690,-519890,-519490,674,674,0 +4248,chaos,-520364,-516280,-516480,-516080,4084,4084,0 +4249,chaos,-520364,-523530,-523730,-523330,3166,-3166,0 +4250,chaos,-520364,-521140,-521340,-520940,776,-776,0 +4251,chaos,-520364,-517070,-517270,-516870,3294,3294,0 +4252,chaos,-520364,-523720,-523920,-523520,3356,-3356,0 +4253,chaos,-520364,-518610,-518810,-518410,1754,1754,0 +4254,chaos,-520364,-522480,-522680,-522280,2116,-2116,0 +4255,chaos,-520364,-517910,-518110,-517710,2454,2454,0 +4256,chaos,-520364,-522290,-522490,-522090,1926,-1926,0 +4257,chaos,-520364,-520380,-520580,-520180,16,-16,0.95 +4258,chaos,-520364,-524870,-525070,-524670,4506,-4506,0 +4259,chaos,-520364,-521010,-521210,-520810,646,-646,0 +4260,chaos,-520364,-519940,-520140,-519740,424,424,0 +4261,chaos,-520364,-524830,-525030,-524630,4466,-4466,0 +4262,chaos,-520364,-523910,-524110,-523710,3546,-3546,0 +4263,chaos,-520364,-520990,-521190,-520790,626,-626,0 +4264,chaos,-520364,-515750,-515950,-515550,4614,4614,0 +4265,chaos,-520364,-516650,-516850,-516450,3714,3714,0 +4266,chaos,-520364,-524730,-524930,-524530,4366,-4366,0 +4267,chaos,-520364,-522790,-522990,-522590,2426,-2426,0 +4268,chaos,-520364,-522090,-522290,-521890,1726,-1726,0 +4269,chaos,-520364,-520380,-520580,-520180,16,-16,0.95 +4270,chaos,-520364,-518130,-518330,-517930,2234,2234,0 +4271,chaos,-520364,-521660,-521860,-521460,1296,-1296,0 +4272,chaos,-520364,-516820,-517020,-516620,3544,3544,0 +4273,chaos,-520364,-518180,-518380,-517980,2184,2184,0 +4274,chaos,-520364,-515670,-515870,-515470,4694,4694,0 +4275,chaos,-520364,-521700,-521900,-521500,1336,-1336,0 +4276,chaos,-520364,-518580,-518780,-518380,1784,1784,0 +4277,chaos,-520364,-521590,-521790,-521390,1226,-1226,0 +4278,chaos,-520364,-525140,-525340,-524940,4776,-4776,0 +4279,chaos,-520364,-516330,-516530,-516130,4034,4034,0 +4280,chaos,-520364,-515670,-515870,-515470,4694,4694,0 +4281,chaos,-520364,-521110,-521310,-520910,746,-746,0 +4282,chaos,-520364,-521080,-521280,-520880,716,-716,0 +4283,chaos,-520364,-519860,-520060,-519660,504,504,0 +4284,chaos,-520364,-515710,-515910,-515510,4654,4654,0 +4285,chaos,-520364,-518290,-518490,-518090,2074,2074,0 +4286,chaos,-520364,-517950,-518150,-517750,2414,2414,0 +4287,chaos,-520364,-520340,-520540,-520140,24,24,0.95 +4288,chaos,-520364,-524460,-524660,-524260,4096,-4096,0 +4289,chaos,-520364,-519440,-519640,-519240,924,924,0 +4290,chaos,-520364,-524090,-524290,-523890,3726,-3726,0 +4291,chaos,-520364,-519890,-520090,-519690,474,474,0 +4292,chaos,-520364,-522620,-522820,-522420,2256,-2256,0 +4293,chaos,-520364,-518090,-518290,-517890,2274,2274,0 +4294,chaos,-520364,-524840,-525040,-524640,4476,-4476,0 +4295,chaos,-520364,-521910,-522110,-521710,1546,-1546,0 +4296,chaos,-520364,-523900,-524100,-523700,3536,-3536,0 +4297,chaos,-520364,-522890,-523090,-522690,2526,-2526,0 +4298,chaos,-520364,-522330,-522530,-522130,1966,-1966,0 +4299,chaos,-520364,-524820,-525020,-524620,4456,-4456,0 +4300,chaos,-520364,-518080,-518280,-517880,2284,2284,0 +4301,chaos,-520364,-520920,-521120,-520720,556,-556,0 +4302,chaos,-520364,-523480,-523680,-523280,3116,-3116,0 +4303,chaos,-520364,-523590,-523790,-523390,3226,-3226,0 +4304,chaos,-520364,-518470,-518670,-518270,1894,1894,0 +4305,chaos,-520364,-525010,-525210,-524810,4646,-4646,0 +4306,chaos,-520364,-520000,-520200,-519800,364,364,0.1 +4307,chaos,-520364,-524850,-525050,-524650,4486,-4486,0 +4308,chaos,-520364,-521940,-522140,-521740,1576,-1576,0 +4309,chaos,-520364,-520970,-521170,-520770,606,-606,0 +4310,chaos,-520364,-515530,-515730,-515330,4834,4834,0 +4311,chaos,-520364,-519880,-520080,-519680,484,484,0 +4312,chaos,-520364,-517660,-517860,-517460,2704,2704,0 +4313,chaos,-520364,-521860,-522060,-521660,1496,-1496,0 +4314,chaos,-520364,-521170,-521370,-520970,806,-806,0 +4315,chaos,-520364,-517460,-517660,-517260,2904,2904,0 +4316,chaos,-520364,-517950,-518150,-517750,2414,2414,0 +4317,chaos,-520364,-520400,-520600,-520200,36,-36,0.9 +4318,chaos,-520364,-517370,-517570,-517170,2994,2994,0 +4319,chaos,-520364,-517090,-517290,-516890,3274,3274,0 +4320,chaos,-520364,-521550,-521750,-521350,1186,-1186,0 +4321,chaos,-520364,-524490,-524690,-524290,4126,-4126,0 +4322,chaos,-520364,-518370,-518570,-518170,1994,1994,0 +4323,chaos,-520364,-524770,-524970,-524570,4406,-4406,0 +4324,chaos,-520364,-516580,-516780,-516380,3784,3784,0 +4325,chaos,-520364,-520820,-521020,-520620,456,-456,0 +4326,chaos,-520364,-520430,-520630,-520230,66,-66,0.825 +4327,chaos,-520364,-519460,-519660,-519260,904,904,0 +4328,chaos,-520364,-516240,-516440,-516040,4124,4124,0 +4329,chaos,-520364,-519660,-519860,-519460,704,704,0 +4330,chaos,-520364,-519070,-519270,-518870,1294,1294,0 +4331,chaos,-520364,-520920,-521120,-520720,556,-556,0 +4332,chaos,-520364,-516810,-517010,-516610,3554,3554,0 +4333,chaos,-520364,-516480,-516680,-516280,3884,3884,0 +4334,chaos,-520364,-516280,-516480,-516080,4084,4084,0 +4335,chaos,-520364,-521400,-521600,-521200,1036,-1036,0 +4336,chaos,-520364,-520280,-520480,-520080,84,84,0.8 +4337,chaos,-520364,-522120,-522320,-521920,1756,-1756,0 +4338,chaos,-520364,-519810,-520010,-519610,554,554,0 +4339,chaos,-520364,-517140,-517340,-516940,3224,3224,0 +4340,chaos,-520364,-515630,-515830,-515430,4734,4734,0 +4341,chaos,-520364,-519790,-519990,-519590,574,574,0 +4342,chaos,-520364,-518770,-518970,-518570,1594,1594,0 +4343,chaos,-520364,-524800,-525000,-524600,4436,-4436,0 +4344,chaos,-520364,-523520,-523720,-523320,3156,-3156,0 +4345,chaos,-520364,-516050,-516250,-515850,4314,4314,0 +4346,chaos,-520364,-519880,-520080,-519680,484,484,0 +4347,chaos,-520364,-521730,-521930,-521530,1366,-1366,0 +4348,chaos,-520364,-516500,-516700,-516300,3864,3864,0 +4349,chaos,-520364,-520900,-521100,-520700,536,-536,0 +4350,chaos,-520364,-524170,-524370,-523970,3806,-3806,0 +4351,chaos,-520364,-517980,-518180,-517780,2384,2384,0 +4352,chaos,-520364,-516530,-516730,-516330,3834,3834,0 +4353,chaos,-520364,-517820,-518020,-517620,2544,2544,0 +4354,chaos,-520364,-520720,-520920,-520520,356,-356,0.1 +4355,chaos,-520364,-524770,-524970,-524570,4406,-4406,0 +4356,chaos,-520364,-520410,-520610,-520210,46,-46,0.875 +4357,chaos,-520364,-521840,-522040,-521640,1476,-1476,0 +4358,chaos,-520364,-524730,-524930,-524530,4366,-4366,0 +4359,chaos,-520364,-525270,-525470,-525070,4906,-4906,0 +4360,chaos,-520364,-520740,-520940,-520540,376,-376,0.05 +4361,chaos,-520364,-519750,-519950,-519550,614,614,0 +4362,chaos,-520364,-517820,-518020,-517620,2544,2544,0 +4363,chaos,-520364,-515530,-515730,-515330,4834,4834,0 +4364,chaos,-520364,-520790,-520990,-520590,426,-426,0 +4365,chaos,-520364,-522510,-522710,-522310,2146,-2146,0 +4366,chaos,-520364,-518880,-519080,-518680,1484,1484,0 +4367,chaos,-520364,-518470,-518670,-518270,1894,1894,0 +4368,chaos,-520364,-518020,-518220,-517820,2344,2344,0 +4369,chaos,-520364,-521830,-522030,-521630,1466,-1466,0 +4370,chaos,-520364,-524140,-524340,-523940,3776,-3776,0 +4371,chaos,-520364,-523190,-523390,-522990,2826,-2826,0 +4372,chaos,-520364,-515470,-515670,-515270,4894,4894,0 +4373,chaos,-520364,-524230,-524430,-524030,3866,-3866,0 +4374,chaos,-520364,-522750,-522950,-522550,2386,-2386,0 +4375,chaos,-520364,-521530,-521730,-521330,1166,-1166,0 +4376,chaos,-520364,-518710,-518910,-518510,1654,1654,0 +4377,chaos,-520364,-521840,-522040,-521640,1476,-1476,0 +4378,chaos,-520364,-523630,-523830,-523430,3266,-3266,0 +4379,chaos,-520364,-517800,-518000,-517600,2564,2564,0 +4380,chaos,-520364,-520060,-520260,-519860,304,304,0.25 +4381,chaos,-520364,-520300,-520500,-520100,64,64,0.85 +4382,chaos,-520364,-516960,-517160,-516760,3404,3404,0 +4383,chaos,-520364,-524290,-524490,-524090,3926,-3926,0 +4384,chaos,-520364,-517500,-517700,-517300,2864,2864,0 +4385,chaos,-520364,-517360,-517560,-517160,3004,3004,0 +4386,chaos,-520364,-520920,-521120,-520720,556,-556,0 +4387,chaos,-520364,-520880,-521080,-520680,516,-516,0 +4388,chaos,-520364,-522910,-523110,-522710,2546,-2546,0 +4389,chaos,-520364,-523740,-523940,-523540,3376,-3376,0 +4390,chaos,-520364,-519110,-519310,-518910,1254,1254,0 +4391,chaos,-520364,-520210,-520410,-520010,154,154,0.625 +4392,chaos,-520364,-515400,-515600,-515200,4964,4964,0 +4393,chaos,-520364,-516800,-517000,-516600,3564,3564,0 +4394,chaos,-520364,-523080,-523280,-522880,2716,-2716,0 +4395,chaos,-520364,-516920,-517120,-516720,3444,3444,0 +4396,chaos,-520364,-521760,-521960,-521560,1396,-1396,0 +4397,chaos,-520364,-517590,-517790,-517390,2774,2774,0 +4398,chaos,-520364,-521060,-521260,-520860,696,-696,0 +4399,chaos,-520364,-517000,-517200,-516800,3364,3364,0 +4400,chaos,-520364,-523450,-523650,-523250,3086,-3086,0 +4401,chaos,-520364,-524110,-524310,-523910,3746,-3746,0 +4402,chaos,-520364,-517920,-518120,-517720,2444,2444,0 +4403,chaos,-520364,-523130,-523330,-522930,2766,-2766,0 +4404,chaos,-520364,-521530,-521730,-521330,1166,-1166,0 +4405,chaos,-520364,-518920,-519120,-518720,1444,1444,0 +4406,chaos,-520364,-519460,-519660,-519260,904,904,0 +4407,chaos,-520364,-517650,-517850,-517450,2714,2714,0 +4408,chaos,-520364,-523620,-523820,-523420,3256,-3256,0 +4409,chaos,-520364,-518540,-518740,-518340,1824,1824,0 +4410,chaos,-520364,-519350,-519550,-519150,1014,1014,0 +4411,chaos,-520364,-521910,-522110,-521710,1546,-1546,0 +4412,chaos,-520364,-519770,-519970,-519570,594,594,0 +4413,chaos,-520364,-516630,-516830,-516430,3734,3734,0 +4414,chaos,-520364,-518590,-518790,-518390,1774,1774,0 +4415,chaos,-520364,-517270,-517470,-517070,3094,3094,0 +4416,chaos,-520364,-517010,-517210,-516810,3354,3354,0 +4417,chaos,-520364,-525020,-525220,-524820,4656,-4656,0 +4418,chaos,-520364,-517360,-517560,-517160,3004,3004,0 +4419,chaos,-520364,-517750,-517950,-517550,2614,2614,0 +4420,chaos,-520364,-515570,-515770,-515370,4794,4794,0 +4421,chaos,-520364,-518300,-518500,-518100,2064,2064,0 +4422,chaos,-520364,-524920,-525120,-524720,4556,-4556,0 +4423,chaos,-520364,-517310,-517510,-517110,3054,3054,0 +4424,chaos,-520364,-520750,-520950,-520550,386,-386,0.025 +4425,chaos,-520364,-522540,-522740,-522340,2176,-2176,0 +4426,chaos,-520364,-523860,-524060,-523660,3496,-3496,0 +4427,chaos,-520364,-523980,-524180,-523780,3616,-3616,0 +4428,chaos,-520364,-515810,-516010,-515610,4554,4554,0 +4429,chaos,-520364,-516860,-517060,-516660,3504,3504,0 +4430,chaos,-520364,-520850,-521050,-520650,486,-486,0 +4431,chaos,-520364,-524830,-525030,-524630,4466,-4466,0 +4432,chaos,-520364,-522740,-522940,-522540,2376,-2376,0 +4433,chaos,-520364,-518620,-518820,-518420,1744,1744,0 +4434,chaos,-520364,-524340,-524540,-524140,3976,-3976,0 +4435,chaos,-520364,-523810,-524010,-523610,3446,-3446,0 +4436,chaos,-520364,-524910,-525110,-524710,4546,-4546,0 +4437,chaos,-520364,-517810,-518010,-517610,2554,2554,0 +4438,chaos,-520364,-524830,-525030,-524630,4466,-4466,0 +4439,chaos,-520364,-522420,-522620,-522220,2056,-2056,0 +4440,chaos,-520364,-517370,-517570,-517170,2994,2994,0 +4441,chaos,-520364,-525040,-525240,-524840,4676,-4676,0 +4442,chaos,-520364,-518020,-518220,-517820,2344,2344,0 +4443,chaos,-520364,-523130,-523330,-522930,2766,-2766,0 +4444,chaos,-520364,-516080,-516280,-515880,4284,4284,0 +4445,chaos,-520364,-522600,-522800,-522400,2236,-2236,0 +4446,chaos,-520364,-518630,-518830,-518430,1734,1734,0 +4447,chaos,-520364,-515950,-516150,-515750,4414,4414,0 +4448,chaos,-520364,-520750,-520950,-520550,386,-386,0.025 +4449,chaos,-520364,-520660,-520860,-520460,296,-296,0.25 +4450,chaos,-520364,-518700,-518900,-518500,1664,1664,0 +4451,chaos,-520364,-519600,-519800,-519400,764,764,0 +4452,chaos,-520364,-523740,-523940,-523540,3376,-3376,0 +4453,chaos,-520364,-523990,-524190,-523790,3626,-3626,0 +4454,chaos,-520364,-525020,-525220,-524820,4656,-4656,0 +4455,chaos,-520364,-522810,-523010,-522610,2446,-2446,0 +4456,chaos,-520364,-518050,-518250,-517850,2314,2314,0 +4457,chaos,-520364,-517650,-517850,-517450,2714,2714,0 +4458,chaos,-520364,-522570,-522770,-522370,2206,-2206,0 +4459,chaos,-520364,-521400,-521600,-521200,1036,-1036,0 +4460,chaos,-520364,-519100,-519300,-518900,1264,1264,0 +4461,chaos,-520364,-521740,-521940,-521540,1376,-1376,0 +4462,chaos,-520364,-519480,-519680,-519280,884,884,0 +4463,chaos,-520364,-523790,-523990,-523590,3426,-3426,0 +4464,chaos,-520364,-522380,-522580,-522180,2016,-2016,0 +4465,chaos,-520364,-516130,-516330,-515930,4234,4234,0 +4466,chaos,-520364,-523450,-523650,-523250,3086,-3086,0 +4467,chaos,-520364,-524230,-524430,-524030,3866,-3866,0 +4468,chaos,-520364,-520110,-520310,-519910,254,254,0.375 +4469,chaos,-520364,-519670,-519870,-519470,694,694,0 +4470,chaos,-520364,-524440,-524640,-524240,4076,-4076,0 +4471,chaos,-520364,-523620,-523820,-523420,3256,-3256,0 +4472,chaos,-520364,-517010,-517210,-516810,3354,3354,0 +4473,chaos,-520364,-521630,-521830,-521430,1266,-1266,0 +4474,chaos,-520364,-515410,-515610,-515210,4954,4954,0 +4475,chaos,-520364,-517820,-518020,-517620,2544,2544,0 +4476,chaos,-520364,-520530,-520730,-520330,166,-166,0.575 +4477,chaos,-520364,-517760,-517960,-517560,2604,2604,0 +4478,chaos,-520364,-517550,-517750,-517350,2814,2814,0 +4479,chaos,-520364,-521410,-521610,-521210,1046,-1046,0 +4480,chaos,-520364,-518350,-518550,-518150,2014,2014,0 +4481,chaos,-520364,-517710,-517910,-517510,2654,2654,0 +4482,chaos,-520364,-518420,-518620,-518220,1944,1944,0 +4483,chaos,-520364,-524160,-524360,-523960,3796,-3796,0 +4484,chaos,-520364,-522190,-522390,-521990,1826,-1826,0 +4485,chaos,-520364,-519320,-519520,-519120,1044,1044,0 +4486,chaos,-520364,-522660,-522860,-522460,2296,-2296,0 +4487,chaos,-520364,-521980,-522180,-521780,1616,-1616,0 +4488,chaos,-520364,-521070,-521270,-520870,706,-706,0 +4489,chaos,-520364,-524320,-524520,-524120,3956,-3956,0 +4490,chaos,-520364,-517770,-517970,-517570,2594,2594,0 +4491,chaos,-520364,-517310,-517510,-517110,3054,3054,0 +4492,chaos,-520364,-524850,-525050,-524650,4486,-4486,0 +4493,chaos,-520364,-520360,-520560,-520160,4,4,1 +4494,chaos,-520364,-518260,-518460,-518060,2104,2104,0 +4495,chaos,-520364,-519650,-519850,-519450,714,714,0 +4496,chaos,-520364,-524950,-525150,-524750,4586,-4586,0 +4497,chaos,-520364,-516600,-516800,-516400,3764,3764,0 +4498,chaos,-520364,-524320,-524520,-524120,3956,-3956,0 +4499,chaos,-520364,-524750,-524950,-524550,4386,-4386,0 +4500,chaos,-520364,-517420,-517620,-517220,2944,2944,0 +4501,chaos,-520364,-524130,-524330,-523930,3766,-3766,0 +4502,chaos,-520364,-520110,-520310,-519910,254,254,0.375 +4503,chaos,-520364,-521710,-521910,-521510,1346,-1346,0 +4504,chaos,-520364,-517610,-517810,-517410,2754,2754,0 +4505,chaos,-520364,-519360,-519560,-519160,1004,1004,0 +4506,chaos,-520364,-519220,-519420,-519020,1144,1144,0 +4507,chaos,-520364,-516960,-517160,-516760,3404,3404,0 +4508,chaos,-520364,-523990,-524190,-523790,3626,-3626,0 +4509,chaos,-520364,-521760,-521960,-521560,1396,-1396,0 +4510,chaos,-520364,-522590,-522790,-522390,2226,-2226,0 +4511,chaos,-520364,-516720,-516920,-516520,3644,3644,0 +4512,chaos,-520364,-521600,-521800,-521400,1236,-1236,0 +4513,chaos,-520364,-518400,-518600,-518200,1964,1964,0 +4514,chaos,-520364,-517590,-517790,-517390,2774,2774,0 +4515,chaos,-520364,-520160,-520360,-519960,204,204,0.5 +4516,chaos,-520364,-524380,-524580,-524180,4016,-4016,0 +4517,chaos,-520364,-519380,-519580,-519180,984,984,0 +4518,chaos,-520364,-516880,-517080,-516680,3484,3484,0 +4519,chaos,-520364,-524360,-524560,-524160,3996,-3996,0 +4520,chaos,-520364,-520750,-520950,-520550,386,-386,0.025 +4521,chaos,-520364,-522240,-522440,-522040,1876,-1876,0 +4522,chaos,-520364,-521110,-521310,-520910,746,-746,0 +4523,chaos,-520364,-515380,-515580,-515180,4984,4984,0 +4524,chaos,-520364,-518050,-518250,-517850,2314,2314,0 +4525,chaos,-520364,-516250,-516450,-516050,4114,4114,0 +4526,chaos,-520364,-516720,-516920,-516520,3644,3644,0 +4527,chaos,-520364,-519380,-519580,-519180,984,984,0 +4528,chaos,-520364,-517010,-517210,-516810,3354,3354,0 +4529,chaos,-520364,-516440,-516640,-516240,3924,3924,0 +4530,chaos,-520364,-515980,-516180,-515780,4384,4384,0 +4531,chaos,-520364,-518210,-518410,-518010,2154,2154,0 +4532,chaos,-520364,-518910,-519110,-518710,1454,1454,0 +4533,chaos,-520364,-521540,-521740,-521340,1176,-1176,0 +4534,chaos,-520364,-517620,-517820,-517420,2744,2744,0 +4535,chaos,-520364,-524320,-524520,-524120,3956,-3956,0 +4536,chaos,-520364,-517250,-517450,-517050,3114,3114,0 +4537,chaos,-520364,-522960,-523160,-522760,2596,-2596,0 +4538,chaos,-520364,-515750,-515950,-515550,4614,4614,0 +4539,chaos,-520364,-517050,-517250,-516850,3314,3314,0 +4540,chaos,-520364,-520260,-520460,-520060,104,104,0.75 +4541,chaos,-520364,-524830,-525030,-524630,4466,-4466,0 +4542,chaos,-520364,-520370,-520570,-520170,6,-6,0.975 +4543,chaos,-520364,-515380,-515580,-515180,4984,4984,0 +4544,chaos,-520364,-516150,-516350,-515950,4214,4214,0 +4545,chaos,-520364,-516190,-516390,-515990,4174,4174,0 +4546,chaos,-520364,-516330,-516530,-516130,4034,4034,0 +4547,chaos,-520364,-522210,-522410,-522010,1846,-1846,0 +4548,chaos,-520364,-516840,-517040,-516640,3524,3524,0 +4549,chaos,-520364,-519480,-519680,-519280,884,884,0 +4550,chaos,-520364,-523170,-523370,-522970,2806,-2806,0 +4551,chaos,-520364,-518800,-519000,-518600,1564,1564,0 +4552,chaos,-520364,-522990,-523190,-522790,2626,-2626,0 +4553,chaos,-520364,-516200,-516400,-516000,4164,4164,0 +4554,chaos,-520364,-521080,-521280,-520880,716,-716,0 +4555,chaos,-520364,-517430,-517630,-517230,2934,2934,0 +4556,chaos,-520364,-524160,-524360,-523960,3796,-3796,0 +4557,chaos,-520364,-517720,-517920,-517520,2644,2644,0 +4558,chaos,-520364,-524950,-525150,-524750,4586,-4586,0 +4559,chaos,-520364,-516140,-516340,-515940,4224,4224,0 +4560,chaos,-520364,-515610,-515810,-515410,4754,4754,0 +4561,chaos,-520364,-520940,-521140,-520740,576,-576,0 +4562,chaos,-520364,-522300,-522500,-522100,1936,-1936,0 +4563,chaos,-520364,-523180,-523380,-522980,2816,-2816,0 +4564,chaos,-520364,-524510,-524710,-524310,4146,-4146,0 +4565,chaos,-520364,-519390,-519590,-519190,974,974,0 +4566,chaos,-520364,-524010,-524210,-523810,3646,-3646,0 +4567,chaos,-520364,-521890,-522090,-521690,1526,-1526,0 +4568,chaos,-520364,-516920,-517120,-516720,3444,3444,0 +4569,chaos,-520364,-515570,-515770,-515370,4794,4794,0 +4570,chaos,-520364,-516390,-516590,-516190,3974,3974,0 +4571,chaos,-520364,-524700,-524900,-524500,4336,-4336,0 +4572,chaos,-520364,-515510,-515710,-515310,4854,4854,0 +4573,chaos,-520364,-518880,-519080,-518680,1484,1484,0 +4574,chaos,-520364,-523840,-524040,-523640,3476,-3476,0 +4575,chaos,-520364,-520870,-521070,-520670,506,-506,0 +4576,chaos,-520364,-525050,-525250,-524850,4686,-4686,0 +4577,chaos,-520364,-519940,-520140,-519740,424,424,0 +4578,chaos,-520364,-523880,-524080,-523680,3516,-3516,0 +4579,chaos,-520364,-520820,-521020,-520620,456,-456,0 +4580,chaos,-520364,-516740,-516940,-516540,3624,3624,0 +4581,chaos,-520364,-520280,-520480,-520080,84,84,0.8 +4582,chaos,-520364,-515550,-515750,-515350,4814,4814,0 +4583,chaos,-520364,-516000,-516200,-515800,4364,4364,0 +4584,chaos,-520364,-518160,-518360,-517960,2204,2204,0 +4585,chaos,-520364,-523660,-523860,-523460,3296,-3296,0 +4586,chaos,-520364,-520550,-520750,-520350,186,-186,0.525 +4587,chaos,-520364,-518120,-518320,-517920,2244,2244,0 +4588,chaos,-520364,-524680,-524880,-524480,4316,-4316,0 +4589,chaos,-520364,-516920,-517120,-516720,3444,3444,0 +4590,chaos,-520364,-516650,-516850,-516450,3714,3714,0 +4591,chaos,-520364,-521120,-521320,-520920,756,-756,0 +4592,chaos,-520364,-524220,-524420,-524020,3856,-3856,0 +4593,chaos,-520364,-515440,-515640,-515240,4924,4924,0 +4594,chaos,-520364,-523490,-523690,-523290,3126,-3126,0 +4595,chaos,-520364,-520580,-520780,-520380,216,-216,0.45 +4596,chaos,-520364,-525020,-525220,-524820,4656,-4656,0 +4597,chaos,-520364,-524590,-524790,-524390,4226,-4226,0 +4598,chaos,-520364,-516970,-517170,-516770,3394,3394,0 +4599,chaos,-520364,-517330,-517530,-517130,3034,3034,0 +4600,chaos,-520364,-517910,-518110,-517710,2454,2454,0 +4601,chaos,-520364,-516680,-516880,-516480,3684,3684,0 +4602,chaos,-520364,-515470,-515670,-515270,4894,4894,0 +4603,chaos,-520364,-519800,-520000,-519600,564,564,0 +4604,chaos,-520364,-516410,-516610,-516210,3954,3954,0 +4605,chaos,-520364,-523840,-524040,-523640,3476,-3476,0 +4606,chaos,-520364,-522190,-522390,-521990,1826,-1826,0 +4607,chaos,-520364,-520490,-520690,-520290,126,-126,0.675 +4608,chaos,-520364,-525230,-525430,-525030,4866,-4866,0 +4609,chaos,-520364,-521970,-522170,-521770,1606,-1606,0 +4610,chaos,-520364,-523790,-523990,-523590,3426,-3426,0 +4611,chaos,-520364,-522750,-522950,-522550,2386,-2386,0 +4612,chaos,-520364,-519590,-519790,-519390,774,774,0 +4613,chaos,-520364,-516130,-516330,-515930,4234,4234,0 +4614,chaos,-520364,-524080,-524280,-523880,3716,-3716,0 +4615,chaos,-520364,-524280,-524480,-524080,3916,-3916,0 +4616,chaos,-520364,-515470,-515670,-515270,4894,4894,0 +4617,chaos,-520364,-520550,-520750,-520350,186,-186,0.525 +4618,chaos,-520364,-524400,-524600,-524200,4036,-4036,0 +4619,chaos,-520364,-521710,-521910,-521510,1346,-1346,0 +4620,chaos,-520364,-516110,-516310,-515910,4254,4254,0 +4621,chaos,-520364,-519100,-519300,-518900,1264,1264,0 +4622,chaos,-520364,-520550,-520750,-520350,186,-186,0.525 +4623,chaos,-520364,-515490,-515690,-515290,4874,4874,0 +4624,chaos,-520364,-524260,-524460,-524060,3896,-3896,0 +4625,chaos,-520364,-521630,-521830,-521430,1266,-1266,0 +4626,chaos,-520364,-524700,-524900,-524500,4336,-4336,0 +4627,chaos,-520364,-516040,-516240,-515840,4324,4324,0 +4628,chaos,-520364,-522090,-522290,-521890,1726,-1726,0 +4629,chaos,-520364,-516260,-516460,-516060,4104,4104,0 +4630,chaos,-520364,-519250,-519450,-519050,1114,1114,0 +4631,chaos,-520364,-522160,-522360,-521960,1796,-1796,0 +4632,chaos,-520364,-520670,-520870,-520470,306,-306,0.225 +4633,chaos,-520364,-519510,-519710,-519310,854,854,0 +4634,chaos,-520364,-519050,-519250,-518850,1314,1314,0 +4635,chaos,-520364,-519870,-520070,-519670,494,494,0 +4636,chaos,-520364,-517000,-517200,-516800,3364,3364,0 +4637,chaos,-520364,-524580,-524780,-524380,4216,-4216,0 +4638,chaos,-520364,-521300,-521500,-521100,936,-936,0 +4639,chaos,-520364,-522410,-522610,-522210,2046,-2046,0 +4640,chaos,-520364,-523110,-523310,-522910,2746,-2746,0 +4641,chaos,-520364,-515690,-515890,-515490,4674,4674,0 +4642,chaos,-520364,-519570,-519770,-519370,794,794,0 +4643,chaos,-520364,-517940,-518140,-517740,2424,2424,0 +4644,chaos,-520364,-520940,-521140,-520740,576,-576,0 +4645,chaos,-520364,-523250,-523450,-523050,2886,-2886,0 +4646,chaos,-520364,-516390,-516590,-516190,3974,3974,0 +4647,chaos,-520364,-518070,-518270,-517870,2294,2294,0 +4648,chaos,-520364,-522330,-522530,-522130,1966,-1966,0 +4649,chaos,-520364,-516410,-516610,-516210,3954,3954,0 +4650,chaos,-520364,-525130,-525330,-524930,4766,-4766,0 +4651,chaos,-520364,-519530,-519730,-519330,834,834,0 +4652,chaos,-520364,-523840,-524040,-523640,3476,-3476,0 +4653,chaos,-520364,-521660,-521860,-521460,1296,-1296,0 +4654,chaos,-520364,-522390,-522590,-522190,2026,-2026,0 +4655,chaos,-520364,-521180,-521380,-520980,816,-816,0 +4656,chaos,-520364,-517850,-518050,-517650,2514,2514,0 +4657,chaos,-520364,-515460,-515660,-515260,4904,4904,0 +4658,chaos,-520364,-517320,-517520,-517120,3044,3044,0 +4659,chaos,-520364,-523470,-523670,-523270,3106,-3106,0 +4660,chaos,-520364,-523110,-523310,-522910,2746,-2746,0 +4661,chaos,-520364,-522750,-522950,-522550,2386,-2386,0 +4662,chaos,-520364,-521840,-522040,-521640,1476,-1476,0 +4663,chaos,-520364,-518470,-518670,-518270,1894,1894,0 +4664,chaos,-520364,-519420,-519620,-519220,944,944,0 +4665,chaos,-520364,-515530,-515730,-515330,4834,4834,0 +4666,chaos,-520364,-521460,-521660,-521260,1096,-1096,0 +4667,chaos,-520364,-519420,-519620,-519220,944,944,0 +4668,chaos,-520364,-519950,-520150,-519750,414,414,0 +4669,chaos,-520364,-522680,-522880,-522480,2316,-2316,0 +4670,chaos,-520364,-524830,-525030,-524630,4466,-4466,0 +4671,chaos,-520364,-520440,-520640,-520240,76,-76,0.8 +4672,chaos,-520364,-515970,-516170,-515770,4394,4394,0 +4673,chaos,-520364,-521440,-521640,-521240,1076,-1076,0 +4674,chaos,-520364,-520840,-521040,-520640,476,-476,0 +4675,chaos,-520364,-525280,-525480,-525080,4916,-4916,0 +4676,chaos,-520364,-519330,-519530,-519130,1034,1034,0 +4677,chaos,-520364,-521900,-522100,-521700,1536,-1536,0 +4678,chaos,-520364,-523620,-523820,-523420,3256,-3256,0 +4679,chaos,-520364,-518160,-518360,-517960,2204,2204,0 +4680,chaos,-520364,-522100,-522300,-521900,1736,-1736,0 +4681,chaos,-520364,-519430,-519630,-519230,934,934,0 +4682,chaos,-520364,-516830,-517030,-516630,3534,3534,0 +4683,chaos,-520364,-524680,-524880,-524480,4316,-4316,0 +4684,chaos,-520364,-522530,-522730,-522330,2166,-2166,0 +4685,chaos,-520364,-517430,-517630,-517230,2934,2934,0 +4686,chaos,-520364,-519290,-519490,-519090,1074,1074,0 +4687,chaos,-520364,-523040,-523240,-522840,2676,-2676,0 +4688,chaos,-520364,-525210,-525410,-525010,4846,-4846,0 +4689,chaos,-520364,-517040,-517240,-516840,3324,3324,0 +4690,chaos,-520364,-517870,-518070,-517670,2494,2494,0 +4691,chaos,-520364,-516650,-516850,-516450,3714,3714,0 +4692,chaos,-520364,-522040,-522240,-521840,1676,-1676,0 +4693,chaos,-520364,-524020,-524220,-523820,3656,-3656,0 +4694,chaos,-520364,-515790,-515990,-515590,4574,4574,0 +4695,chaos,-520364,-524780,-524980,-524580,4416,-4416,0 +4696,chaos,-520364,-524060,-524260,-523860,3696,-3696,0 +4697,chaos,-520364,-517590,-517790,-517390,2774,2774,0 +4698,chaos,-520364,-524270,-524470,-524070,3906,-3906,0 +4699,chaos,-520364,-524770,-524970,-524570,4406,-4406,0 +4700,chaos,-520364,-520760,-520960,-520560,396,-396,0 +4701,chaos,-520364,-521590,-521790,-521390,1226,-1226,0 +4702,chaos,-520364,-519950,-520150,-519750,414,414,0 +4703,chaos,-520364,-524940,-525140,-524740,4576,-4576,0 +4704,chaos,-520364,-518710,-518910,-518510,1654,1654,0 +4705,chaos,-520364,-521230,-521430,-521030,866,-866,0 +4706,chaos,-520364,-521610,-521810,-521410,1246,-1246,0 +4707,chaos,-520364,-516770,-516970,-516570,3594,3594,0 +4708,chaos,-520364,-520050,-520250,-519850,314,314,0.225 +4709,chaos,-520364,-517280,-517480,-517080,3084,3084,0 +4710,chaos,-520364,-521340,-521540,-521140,976,-976,0 +4711,chaos,-520364,-515630,-515830,-515430,4734,4734,0 +4712,chaos,-520364,-517270,-517470,-517070,3094,3094,0 +4713,chaos,-520364,-517630,-517830,-517430,2734,2734,0 +4714,chaos,-520364,-521510,-521710,-521310,1146,-1146,0 +4715,chaos,-520364,-517700,-517900,-517500,2664,2664,0 +4716,chaos,-520364,-518660,-518860,-518460,1704,1704,0 +4717,chaos,-520364,-524770,-524970,-524570,4406,-4406,0 +4718,chaos,-520364,-522050,-522250,-521850,1686,-1686,0 +4719,chaos,-520364,-524300,-524500,-524100,3936,-3936,0 +4720,chaos,-520364,-515730,-515930,-515530,4634,4634,0 +4721,chaos,-520364,-515670,-515870,-515470,4694,4694,0 +4722,chaos,-520364,-519770,-519970,-519570,594,594,0 +4723,chaos,-520364,-519390,-519590,-519190,974,974,0 +4724,chaos,-520364,-516900,-517100,-516700,3464,3464,0 +4725,chaos,-520364,-522880,-523080,-522680,2516,-2516,0 +4726,chaos,-520364,-520300,-520500,-520100,64,64,0.85 +4727,chaos,-520364,-521040,-521240,-520840,676,-676,0 +4728,chaos,-520364,-516370,-516570,-516170,3994,3994,0 +4729,chaos,-520364,-515850,-516050,-515650,4514,4514,0 +4730,chaos,-520364,-516380,-516580,-516180,3984,3984,0 +4731,chaos,-520364,-516580,-516780,-516380,3784,3784,0 +4732,chaos,-520364,-519830,-520030,-519630,534,534,0 +4733,chaos,-520364,-516880,-517080,-516680,3484,3484,0 +4734,chaos,-520364,-520910,-521110,-520710,546,-546,0 +4735,chaos,-520364,-524700,-524900,-524500,4336,-4336,0 +4736,chaos,-520364,-518480,-518680,-518280,1884,1884,0 +4737,chaos,-520364,-520860,-521060,-520660,496,-496,0 +4738,chaos,-520364,-516390,-516590,-516190,3974,3974,0 +4739,chaos,-520364,-524950,-525150,-524750,4586,-4586,0 +4740,chaos,-520364,-515870,-516070,-515670,4494,4494,0 +4741,chaos,-520364,-521010,-521210,-520810,646,-646,0 +4742,chaos,-520364,-517960,-518160,-517760,2404,2404,0 +4743,chaos,-520364,-521130,-521330,-520930,766,-766,0 +4744,chaos,-520364,-523350,-523550,-523150,2986,-2986,0 +4745,chaos,-520364,-518330,-518530,-518130,2034,2034,0 +4746,chaos,-520364,-523710,-523910,-523510,3346,-3346,0 +4747,chaos,-520364,-523700,-523900,-523500,3336,-3336,0 +4748,chaos,-520364,-522250,-522450,-522050,1886,-1886,0 +4749,chaos,-520364,-515790,-515990,-515590,4574,4574,0 +4750,chaos,-520364,-516350,-516550,-516150,4014,4014,0 +4751,chaos,-520364,-516490,-516690,-516290,3874,3874,0 +4752,chaos,-520364,-521230,-521430,-521030,866,-866,0 +4753,chaos,-520364,-522480,-522680,-522280,2116,-2116,0 +4754,chaos,-520364,-522890,-523090,-522690,2526,-2526,0 +4755,chaos,-520364,-522260,-522460,-522060,1896,-1896,0 +4756,chaos,-520364,-524620,-524820,-524420,4256,-4256,0 +4757,chaos,-520364,-516650,-516850,-516450,3714,3714,0 +4758,chaos,-520364,-518820,-519020,-518620,1544,1544,0 +4759,chaos,-520364,-519890,-520090,-519690,474,474,0 +4760,chaos,-520364,-521610,-521810,-521410,1246,-1246,0 +4761,chaos,-520364,-516680,-516880,-516480,3684,3684,0 +4762,chaos,-520364,-519970,-520170,-519770,394,394,0.025 +4763,chaos,-520364,-519610,-519810,-519410,754,754,0 +4764,chaos,-520364,-515850,-516050,-515650,4514,4514,0 +4765,chaos,-520364,-521550,-521750,-521350,1186,-1186,0 +4766,chaos,-520364,-518980,-519180,-518780,1384,1384,0 +4767,chaos,-520364,-522750,-522950,-522550,2386,-2386,0 +4768,chaos,-520364,-517140,-517340,-516940,3224,3224,0 +4769,chaos,-520364,-522270,-522470,-522070,1906,-1906,0 +4770,chaos,-520364,-521380,-521580,-521180,1016,-1016,0 +4771,chaos,-520364,-515400,-515600,-515200,4964,4964,0 +4772,chaos,-520364,-521550,-521750,-521350,1186,-1186,0 +4773,chaos,-520364,-520910,-521110,-520710,546,-546,0 +4774,chaos,-520364,-520580,-520780,-520380,216,-216,0.45 +4775,chaos,-520364,-524870,-525070,-524670,4506,-4506,0 +4776,chaos,-520364,-519490,-519690,-519290,874,874,0 +4777,chaos,-520364,-525090,-525290,-524890,4726,-4726,0 +4778,chaos,-520364,-523840,-524040,-523640,3476,-3476,0 +4779,chaos,-520364,-520980,-521180,-520780,616,-616,0 +4780,chaos,-520364,-516260,-516460,-516060,4104,4104,0 +4781,chaos,-520364,-518220,-518420,-518020,2144,2144,0 +4782,chaos,-520364,-522640,-522840,-522440,2276,-2276,0 +4783,chaos,-520364,-520840,-521040,-520640,476,-476,0 +4784,chaos,-520364,-521200,-521400,-521000,836,-836,0 +4785,chaos,-520364,-519030,-519230,-518830,1334,1334,0 +4786,chaos,-520364,-522910,-523110,-522710,2546,-2546,0 +4787,chaos,-520364,-523660,-523860,-523460,3296,-3296,0 +4788,chaos,-520364,-519130,-519330,-518930,1234,1234,0 +4789,chaos,-520364,-520880,-521080,-520680,516,-516,0 +4790,chaos,-520364,-520560,-520760,-520360,196,-196,0.5 +4791,chaos,-520364,-519100,-519300,-518900,1264,1264,0 +4792,chaos,-520364,-525240,-525440,-525040,4876,-4876,0 +4793,chaos,-520364,-518470,-518670,-518270,1894,1894,0 +4794,chaos,-520364,-518110,-518310,-517910,2254,2254,0 +4795,chaos,-520364,-522360,-522560,-522160,1996,-1996,0 +4796,chaos,-520364,-521500,-521700,-521300,1136,-1136,0 +4797,chaos,-520364,-521390,-521590,-521190,1026,-1026,0 +4798,chaos,-520364,-524950,-525150,-524750,4586,-4586,0 +4799,chaos,-520364,-519310,-519510,-519110,1054,1054,0 +4800,chaos,-520364,-523030,-523230,-522830,2666,-2666,0 +4801,chaos,-520364,-521230,-521430,-521030,866,-866,0 +4802,chaos,-520364,-520730,-520930,-520530,366,-366,0.075 +4803,chaos,-520364,-523520,-523720,-523320,3156,-3156,0 +4804,chaos,-520364,-519520,-519720,-519320,844,844,0 +4805,chaos,-520364,-519050,-519250,-518850,1314,1314,0 +4806,chaos,-520364,-520920,-521120,-520720,556,-556,0 +4807,chaos,-520364,-519270,-519470,-519070,1094,1094,0 +4808,chaos,-520364,-518770,-518970,-518570,1594,1594,0 +4809,chaos,-520364,-515630,-515830,-515430,4734,4734,0 +4810,chaos,-520364,-516730,-516930,-516530,3634,3634,0 +4811,chaos,-520364,-525350,-525550,-525150,4986,-4986,0 +4812,chaos,-520364,-522790,-522990,-522590,2426,-2426,0 +4813,chaos,-520364,-522620,-522820,-522420,2256,-2256,0 +4814,chaos,-520364,-522830,-523030,-522630,2466,-2466,0 +4815,chaos,-520364,-521740,-521940,-521540,1376,-1376,0 +4816,chaos,-520364,-516360,-516560,-516160,4004,4004,0 +4817,chaos,-520364,-520610,-520810,-520410,246,-246,0.375 +4818,chaos,-520364,-516510,-516710,-516310,3854,3854,0 +4819,chaos,-520364,-523560,-523760,-523360,3196,-3196,0 +4820,chaos,-520364,-519590,-519790,-519390,774,774,0 +4821,chaos,-520364,-516320,-516520,-516120,4044,4044,0 +4822,chaos,-520364,-516530,-516730,-516330,3834,3834,0 +4823,chaos,-520364,-523250,-523450,-523050,2886,-2886,0 +4824,chaos,-520364,-524950,-525150,-524750,4586,-4586,0 +4825,chaos,-520364,-524280,-524480,-524080,3916,-3916,0 +4826,chaos,-520364,-518590,-518790,-518390,1774,1774,0 +4827,chaos,-520364,-520940,-521140,-520740,576,-576,0 +4828,chaos,-520364,-523510,-523710,-523310,3146,-3146,0 +4829,chaos,-520364,-522340,-522540,-522140,1976,-1976,0 +4830,chaos,-520364,-516700,-516900,-516500,3664,3664,0 +4831,chaos,-520364,-517570,-517770,-517370,2794,2794,0 +4832,chaos,-520364,-519580,-519780,-519380,784,784,0 +4833,chaos,-520364,-523270,-523470,-523070,2906,-2906,0 +4834,chaos,-520364,-524460,-524660,-524260,4096,-4096,0 +4835,chaos,-520364,-519140,-519340,-518940,1224,1224,0 +4836,chaos,-520364,-524040,-524240,-523840,3676,-3676,0 +4837,chaos,-520364,-516250,-516450,-516050,4114,4114,0 +4838,chaos,-520364,-523530,-523730,-523330,3166,-3166,0 +4839,chaos,-520364,-521970,-522170,-521770,1606,-1606,0 +4840,chaos,-520364,-518430,-518630,-518230,1934,1934,0 +4841,chaos,-520364,-525210,-525410,-525010,4846,-4846,0 +4842,chaos,-520364,-524670,-524870,-524470,4306,-4306,0 +4843,chaos,-520364,-517840,-518040,-517640,2524,2524,0 +4844,chaos,-520364,-516160,-516360,-515960,4204,4204,0 +4845,chaos,-520364,-525080,-525280,-524880,4716,-4716,0 +4846,chaos,-520364,-519910,-520110,-519710,454,454,0 +4847,chaos,-520364,-516220,-516420,-516020,4144,4144,0 +4848,chaos,-520364,-518060,-518260,-517860,2304,2304,0 +4849,chaos,-520364,-524130,-524330,-523930,3766,-3766,0 +4850,chaos,-520364,-524680,-524880,-524480,4316,-4316,0 +4851,chaos,-520364,-518720,-518920,-518520,1644,1644,0 +4852,chaos,-520364,-524310,-524510,-524110,3946,-3946,0 +4853,chaos,-520364,-517200,-517400,-517000,3164,3164,0 +4854,chaos,-520364,-519570,-519770,-519370,794,794,0 +4855,chaos,-520364,-524000,-524200,-523800,3636,-3636,0 +4856,chaos,-520364,-521540,-521740,-521340,1176,-1176,0 +4857,chaos,-520364,-518490,-518690,-518290,1874,1874,0 +4858,chaos,-520364,-525060,-525260,-524860,4696,-4696,0 +4859,chaos,-520364,-516910,-517110,-516710,3454,3454,0 +4860,chaos,-520364,-520870,-521070,-520670,506,-506,0 +4861,chaos,-520364,-524340,-524540,-524140,3976,-3976,0 +4862,chaos,-520364,-517670,-517870,-517470,2694,2694,0 +4863,chaos,-520364,-523440,-523640,-523240,3076,-3076,0 +4864,chaos,-520364,-517680,-517880,-517480,2684,2684,0 +4865,chaos,-520364,-520820,-521020,-520620,456,-456,0 +4866,chaos,-520364,-520860,-521060,-520660,496,-496,0 +4867,chaos,-520364,-516610,-516810,-516410,3754,3754,0 +4868,chaos,-520364,-522820,-523020,-522620,2456,-2456,0 +4869,chaos,-520364,-522710,-522910,-522510,2346,-2346,0 +4870,chaos,-520364,-515970,-516170,-515770,4394,4394,0 +4871,chaos,-520364,-522010,-522210,-521810,1646,-1646,0 +4872,chaos,-520364,-525180,-525380,-524980,4816,-4816,0 +4873,chaos,-520364,-519260,-519460,-519060,1104,1104,0 +4874,chaos,-520364,-522080,-522280,-521880,1716,-1716,0 +4875,chaos,-520364,-517240,-517440,-517040,3124,3124,0 +4876,chaos,-520364,-517470,-517670,-517270,2894,2894,0 +4877,chaos,-520364,-517180,-517380,-516980,3184,3184,0 +4878,chaos,-520364,-516040,-516240,-515840,4324,4324,0 +4879,chaos,-520364,-519920,-520120,-519720,444,444,0 +4880,chaos,-520364,-523180,-523380,-522980,2816,-2816,0 +4881,chaos,-520364,-524950,-525150,-524750,4586,-4586,0 +4882,chaos,-520364,-523600,-523800,-523400,3236,-3236,0 +4883,chaos,-520364,-520900,-521100,-520700,536,-536,0 +4884,chaos,-520364,-521750,-521950,-521550,1386,-1386,0 +4885,chaos,-520364,-516030,-516230,-515830,4334,4334,0 +4886,chaos,-520364,-517300,-517500,-517100,3064,3064,0 +4887,chaos,-520364,-519710,-519910,-519510,654,654,0 +4888,chaos,-520364,-517510,-517710,-517310,2854,2854,0 +4889,chaos,-520364,-523660,-523860,-523460,3296,-3296,0 +4890,chaos,-520364,-519460,-519660,-519260,904,904,0 +4891,chaos,-520364,-523790,-523990,-523590,3426,-3426,0 +4892,chaos,-520364,-520310,-520510,-520110,54,54,0.875 +4893,chaos,-520364,-523910,-524110,-523710,3546,-3546,0 +4894,chaos,-520364,-520460,-520660,-520260,96,-96,0.75 +4895,chaos,-520364,-517890,-518090,-517690,2474,2474,0 +4896,chaos,-520364,-519880,-520080,-519680,484,484,0 +4897,chaos,-520364,-517140,-517340,-516940,3224,3224,0 +4898,chaos,-520364,-523700,-523900,-523500,3336,-3336,0 +4899,chaos,-520364,-519800,-520000,-519600,564,564,0 +4900,chaos,-520364,-518930,-519130,-518730,1434,1434,0 +4901,chaos,-520364,-520510,-520710,-520310,146,-146,0.625 +4902,chaos,-520364,-516090,-516290,-515890,4274,4274,0 +4903,chaos,-520364,-515600,-515800,-515400,4764,4764,0 +4904,chaos,-520364,-516880,-517080,-516680,3484,3484,0 +4905,chaos,-520364,-515410,-515610,-515210,4954,4954,0 +4906,chaos,-520364,-516510,-516710,-516310,3854,3854,0 +4907,chaos,-520364,-525020,-525220,-524820,4656,-4656,0 +4908,chaos,-520364,-523300,-523500,-523100,2936,-2936,0 +4909,chaos,-520364,-515460,-515660,-515260,4904,4904,0 +4910,chaos,-520364,-521160,-521360,-520960,796,-796,0 +4911,chaos,-520364,-522760,-522960,-522560,2396,-2396,0 +4912,chaos,-520364,-516410,-516610,-516210,3954,3954,0 +4913,chaos,-520364,-520140,-520340,-519940,224,224,0.45 +4914,chaos,-520364,-516860,-517060,-516660,3504,3504,0 +4915,chaos,-520364,-523410,-523610,-523210,3046,-3046,0 +4916,chaos,-520364,-524320,-524520,-524120,3956,-3956,0 +4917,chaos,-520364,-521030,-521230,-520830,666,-666,0 +4918,chaos,-520364,-518720,-518920,-518520,1644,1644,0 +4919,chaos,-520364,-525230,-525430,-525030,4866,-4866,0 +4920,chaos,-520364,-518200,-518400,-518000,2164,2164,0 +4921,chaos,-520364,-521890,-522090,-521690,1526,-1526,0 +4922,chaos,-520364,-519480,-519680,-519280,884,884,0 +4923,chaos,-520364,-523000,-523200,-522800,2636,-2636,0 +4924,chaos,-520364,-519330,-519530,-519130,1034,1034,0 +4925,chaos,-520364,-520840,-521040,-520640,476,-476,0 +4926,chaos,-520364,-519880,-520080,-519680,484,484,0 +4927,chaos,-520364,-517440,-517640,-517240,2924,2924,0 +4928,chaos,-520364,-523750,-523950,-523550,3386,-3386,0 +4929,chaos,-520364,-515570,-515770,-515370,4794,4794,0 +4930,chaos,-520364,-521770,-521970,-521570,1406,-1406,0 +4931,chaos,-520364,-515500,-515700,-515300,4864,4864,0 +4932,chaos,-520364,-518390,-518590,-518190,1974,1974,0 +4933,chaos,-520364,-518900,-519100,-518700,1464,1464,0 +4934,chaos,-520364,-519740,-519940,-519540,624,624,0 +4935,chaos,-520364,-523820,-524020,-523620,3456,-3456,0 +4936,chaos,-520364,-525140,-525340,-524940,4776,-4776,0 +4937,chaos,-520364,-523600,-523800,-523400,3236,-3236,0 +4938,chaos,-520364,-516580,-516780,-516380,3784,3784,0 +4939,chaos,-520364,-519980,-520180,-519780,384,384,0.05 +4940,chaos,-520364,-519500,-519700,-519300,864,864,0 +4941,chaos,-520364,-519110,-519310,-518910,1254,1254,0 +4942,chaos,-520364,-521770,-521970,-521570,1406,-1406,0 +4943,chaos,-520364,-518370,-518570,-518170,1994,1994,0 +4944,chaos,-520364,-521030,-521230,-520830,666,-666,0 +4945,chaos,-520364,-520040,-520240,-519840,324,324,0.2 +4946,chaos,-520364,-522150,-522350,-521950,1786,-1786,0 +4947,chaos,-520364,-520960,-521160,-520760,596,-596,0 +4948,chaos,-520364,-522690,-522890,-522490,2326,-2326,0 +4949,chaos,-520364,-524600,-524800,-524400,4236,-4236,0 +4950,chaos,-520364,-521540,-521740,-521340,1176,-1176,0 +4951,chaos,-520364,-521610,-521810,-521410,1246,-1246,0 +4952,chaos,-520364,-517420,-517620,-517220,2944,2944,0 +4953,chaos,-520364,-522610,-522810,-522410,2246,-2246,0 +4954,chaos,-520364,-522550,-522750,-522350,2186,-2186,0 +4955,chaos,-520364,-515920,-516120,-515720,4444,4444,0 +4956,chaos,-520364,-520290,-520490,-520090,74,74,0.825 +4957,chaos,-520364,-519010,-519210,-518810,1354,1354,0 +4958,chaos,-520364,-524050,-524250,-523850,3686,-3686,0 +4959,chaos,-520364,-520490,-520690,-520290,126,-126,0.675 +4960,chaos,-520364,-522330,-522530,-522130,1966,-1966,0 +4961,chaos,-520364,-518070,-518270,-517870,2294,2294,0 +4962,chaos,-520364,-516260,-516460,-516060,4104,4104,0 +4963,chaos,-520364,-517000,-517200,-516800,3364,3364,0 +4964,chaos,-520364,-515880,-516080,-515680,4484,4484,0 +4965,chaos,-520364,-517670,-517870,-517470,2694,2694,0 +4966,chaos,-520364,-516280,-516480,-516080,4084,4084,0 +4967,chaos,-520364,-519900,-520100,-519700,464,464,0 +4968,chaos,-520364,-524210,-524410,-524010,3846,-3846,0 +4969,chaos,-520364,-515980,-516180,-515780,4384,4384,0 +4970,chaos,-520364,-516460,-516660,-516260,3904,3904,0 +4971,chaos,-520364,-518370,-518570,-518170,1994,1994,0 +4972,chaos,-520364,-525120,-525320,-524920,4756,-4756,0 +4973,chaos,-520364,-525260,-525460,-525060,4896,-4896,0 +4974,chaos,-520364,-518470,-518670,-518270,1894,1894,0 +4975,chaos,-520364,-525100,-525300,-524900,4736,-4736,0 +4976,chaos,-520364,-523890,-524090,-523690,3526,-3526,0 +4977,chaos,-520364,-524900,-525100,-524700,4536,-4536,0 +4978,chaos,-520364,-517830,-518030,-517630,2534,2534,0 +4979,chaos,-520364,-522830,-523030,-522630,2466,-2466,0 +4980,chaos,-520364,-520210,-520410,-520010,154,154,0.625 +4981,chaos,-520364,-524790,-524990,-524590,4426,-4426,0 +4982,chaos,-520364,-519090,-519290,-518890,1274,1274,0 +4983,chaos,-520364,-523900,-524100,-523700,3536,-3536,0 +4984,chaos,-520364,-523100,-523300,-522900,2736,-2736,0 +4985,chaos,-520364,-523750,-523950,-523550,3386,-3386,0 +4986,chaos,-520364,-521290,-521490,-521090,926,-926,0 +4987,chaos,-520364,-515400,-515600,-515200,4964,4964,0 +4988,chaos,-520364,-519310,-519510,-519110,1054,1054,0 +4989,chaos,-520364,-515660,-515860,-515460,4704,4704,0 +4990,chaos,-520364,-519900,-520100,-519700,464,464,0 +4991,chaos,-520364,-521490,-521690,-521290,1126,-1126,0 +4992,chaos,-520364,-522080,-522280,-521880,1716,-1716,0 +4993,chaos,-520364,-523470,-523670,-523270,3106,-3106,0 +4994,chaos,-520364,-523510,-523710,-523310,3146,-3146,0 +4995,chaos,-520364,-515920,-516120,-515720,4444,4444,0 +4996,chaos,-520364,-518410,-518610,-518210,1954,1954,0 +4997,chaos,-520364,-516530,-516730,-516330,3834,3834,0 +4998,chaos,-520364,-521410,-521610,-521210,1046,-1046,0 +4999,chaos,-520364,-518050,-518250,-517850,2314,2314,0 +5000,chaos,-520364,-524800,-525000,-524600,4436,-4436,0 +5001,chaos,-520364,-525120,-525320,-524920,4756,-4756,0 +5002,chaos,-520364,-515660,-515860,-515460,4704,4704,0 +5003,chaos,-520364,-521270,-521470,-521070,906,-906,0 +5004,chaos,-520364,-515490,-515690,-515290,4874,4874,0 +5005,chaos,-520364,-517090,-517290,-516890,3274,3274,0 +5006,chaos,-520364,-519300,-519500,-519100,1064,1064,0 +5007,chaos,-520364,-522020,-522220,-521820,1656,-1656,0 +5008,chaos,-520364,-515630,-515830,-515430,4734,4734,0 +5009,chaos,-520364,-519780,-519980,-519580,584,584,0 +5010,chaos,-520364,-517810,-518010,-517610,2554,2554,0 +5011,chaos,-520364,-522130,-522330,-521930,1766,-1766,0 +5012,chaos,-520364,-520140,-520340,-519940,224,224,0.45 +5013,chaos,-520364,-522630,-522830,-522430,2266,-2266,0 +5014,chaos,-520364,-519670,-519870,-519470,694,694,0 +5015,chaos,-520364,-519330,-519530,-519130,1034,1034,0 +5016,chaos,-520364,-518030,-518230,-517830,2334,2334,0 +5017,chaos,-520364,-521890,-522090,-521690,1526,-1526,0 +5018,chaos,-520364,-515390,-515590,-515190,4974,4974,0 +5019,chaos,-520364,-525040,-525240,-524840,4676,-4676,0 +5020,chaos,-520364,-519460,-519660,-519260,904,904,0 +5021,chaos,-520364,-524940,-525140,-524740,4576,-4576,0 +5022,chaos,-520364,-524830,-525030,-524630,4466,-4466,0 +5023,chaos,-520364,-516050,-516250,-515850,4314,4314,0 +5024,chaos,-520364,-524940,-525140,-524740,4576,-4576,0 +5025,chaos,-520364,-524450,-524650,-524250,4086,-4086,0 +5026,chaos,-520364,-522980,-523180,-522780,2616,-2616,0 +5027,chaos,-520364,-518840,-519040,-518640,1524,1524,0 +5028,chaos,-520364,-522940,-523140,-522740,2576,-2576,0 +5029,chaos,-520364,-521590,-521790,-521390,1226,-1226,0 +5030,chaos,-520364,-518250,-518450,-518050,2114,2114,0 +5031,chaos,-520364,-521060,-521260,-520860,696,-696,0 +5032,chaos,-520364,-518360,-518560,-518160,2004,2004,0 +5033,chaos,-520364,-521810,-522010,-521610,1446,-1446,0 +5034,chaos,-520364,-520190,-520390,-519990,174,174,0.575 +5035,chaos,-520364,-515370,-515570,-515170,4994,4994,0 +5036,chaos,-520364,-518110,-518310,-517910,2254,2254,0 +5037,chaos,-520364,-521740,-521940,-521540,1376,-1376,0 +5038,chaos,-520364,-516150,-516350,-515950,4214,4214,0 +5039,chaos,-520364,-523810,-524010,-523610,3446,-3446,0 +5040,chaos,-520364,-522220,-522420,-522020,1856,-1856,0 +5041,chaos,-520364,-523180,-523380,-522980,2816,-2816,0 +5042,chaos,-520364,-516290,-516490,-516090,4074,4074,0 +5043,chaos,-520364,-524820,-525020,-524620,4456,-4456,0 +5044,chaos,-520364,-518410,-518610,-518210,1954,1954,0 +5045,chaos,-520364,-525070,-525270,-524870,4706,-4706,0 +5046,chaos,-520364,-516700,-516900,-516500,3664,3664,0 +5047,chaos,-520364,-524730,-524930,-524530,4366,-4366,0 +5048,chaos,-520364,-522680,-522880,-522480,2316,-2316,0 +5049,chaos,-520364,-517940,-518140,-517740,2424,2424,0 +5050,chaos,-520364,-521450,-521650,-521250,1086,-1086,0 +5051,chaos,-520364,-523840,-524040,-523640,3476,-3476,0 +5052,chaos,-520364,-524750,-524950,-524550,4386,-4386,0 +5053,chaos,-520364,-518720,-518920,-518520,1644,1644,0 +5054,chaos,-520364,-520430,-520630,-520230,66,-66,0.825 +5055,chaos,-520364,-519600,-519800,-519400,764,764,0 +5056,chaos,-520364,-520130,-520330,-519930,234,234,0.425 +5057,chaos,-520364,-520780,-520980,-520580,416,-416,0 +5058,chaos,-520364,-525290,-525490,-525090,4926,-4926,0 +5059,chaos,-520364,-524080,-524280,-523880,3716,-3716,0 +5060,chaos,-520364,-522540,-522740,-522340,2176,-2176,0 +5061,chaos,-520364,-521490,-521690,-521290,1126,-1126,0 +5062,chaos,-520364,-516070,-516270,-515870,4294,4294,0 +5063,chaos,-520364,-518030,-518230,-517830,2334,2334,0 +5064,chaos,-520364,-520040,-520240,-519840,324,324,0.2 +5065,chaos,-520364,-522920,-523120,-522720,2556,-2556,0 +5066,chaos,-520364,-524080,-524280,-523880,3716,-3716,0 +5067,chaos,-520364,-515420,-515620,-515220,4944,4944,0 +5068,chaos,-520364,-516100,-516300,-515900,4264,4264,0 +5069,chaos,-520364,-518430,-518630,-518230,1934,1934,0 +5070,chaos,-520364,-518750,-518950,-518550,1614,1614,0 +5071,chaos,-520364,-515890,-516090,-515690,4474,4474,0 +5072,chaos,-520364,-522890,-523090,-522690,2526,-2526,0 +5073,chaos,-520364,-522480,-522680,-522280,2116,-2116,0 +5074,chaos,-520364,-519610,-519810,-519410,754,754,0 +5075,chaos,-520364,-525300,-525500,-525100,4936,-4936,0 +5076,chaos,-520364,-522870,-523070,-522670,2506,-2506,0 +5077,chaos,-520364,-518260,-518460,-518060,2104,2104,0 +5078,chaos,-520364,-524240,-524440,-524040,3876,-3876,0 +5079,chaos,-520364,-517660,-517860,-517460,2704,2704,0 +5080,chaos,-520364,-524650,-524850,-524450,4286,-4286,0 +5081,chaos,-520364,-515820,-516020,-515620,4544,4544,0 +5082,chaos,-520364,-520260,-520460,-520060,104,104,0.75 +5083,chaos,-520364,-519600,-519800,-519400,764,764,0 +5084,chaos,-520364,-519710,-519910,-519510,654,654,0 +5085,chaos,-520364,-524480,-524680,-524280,4116,-4116,0 +5086,chaos,-520364,-520610,-520810,-520410,246,-246,0.375 +5087,chaos,-520364,-517810,-518010,-517610,2554,2554,0 +5088,chaos,-520364,-515810,-516010,-515610,4554,4554,0 +5089,chaos,-520364,-516720,-516920,-516520,3644,3644,0 +5090,chaos,-520364,-523720,-523920,-523520,3356,-3356,0 +5091,chaos,-520364,-519510,-519710,-519310,854,854,0 +5092,chaos,-520364,-519760,-519960,-519560,604,604,0 +5093,chaos,-520364,-517580,-517780,-517380,2784,2784,0 +5094,chaos,-520364,-523310,-523510,-523110,2946,-2946,0 +5095,chaos,-520364,-522580,-522780,-522380,2216,-2216,0 +5096,chaos,-520364,-522350,-522550,-522150,1986,-1986,0 +5097,chaos,-520364,-520300,-520500,-520100,64,64,0.85 +5098,chaos,-520364,-517090,-517290,-516890,3274,3274,0 +5099,chaos,-520364,-524210,-524410,-524010,3846,-3846,0 +5100,chaos,-520364,-518040,-518240,-517840,2324,2324,0 +5101,chaos,-520364,-517240,-517440,-517040,3124,3124,0 +5102,chaos,-520364,-521480,-521680,-521280,1116,-1116,0 +5103,chaos,-520364,-522780,-522980,-522580,2416,-2416,0 +5104,chaos,-520364,-520020,-520220,-519820,344,344,0.15 +5105,chaos,-520364,-519440,-519640,-519240,924,924,0 +5106,chaos,-520364,-518710,-518910,-518510,1654,1654,0 +5107,chaos,-520364,-520150,-520350,-519950,214,214,0.475 +5108,chaos,-520364,-520940,-521140,-520740,576,-576,0 +5109,chaos,-520364,-518140,-518340,-517940,2224,2224,0 +5110,chaos,-520364,-515640,-515840,-515440,4724,4724,0 +5111,chaos,-520364,-525240,-525440,-525040,4876,-4876,0 +5112,chaos,-520364,-517880,-518080,-517680,2484,2484,0 +5113,chaos,-520364,-523850,-524050,-523650,3486,-3486,0 +5114,chaos,-520364,-525080,-525280,-524880,4716,-4716,0 +5115,chaos,-520364,-523780,-523980,-523580,3416,-3416,0 +5116,chaos,-520364,-521010,-521210,-520810,646,-646,0 +5117,chaos,-520364,-519370,-519570,-519170,994,994,0 +5118,chaos,-520364,-518410,-518610,-518210,1954,1954,0 +5119,chaos,-520364,-517550,-517750,-517350,2814,2814,0 +5120,chaos,-520364,-520930,-521130,-520730,566,-566,0 +5121,chaos,-520364,-517370,-517570,-517170,2994,2994,0 +5122,chaos,-520364,-516390,-516590,-516190,3974,3974,0 +5123,chaos,-520364,-519450,-519650,-519250,914,914,0 +5124,chaos,-520364,-523920,-524120,-523720,3556,-3556,0 +5125,chaos,-520364,-517400,-517600,-517200,2964,2964,0 +5126,chaos,-520364,-524670,-524870,-524470,4306,-4306,0 +5127,chaos,-520364,-519040,-519240,-518840,1324,1324,0 +5128,chaos,-520364,-519270,-519470,-519070,1094,1094,0 +5129,chaos,-520364,-516550,-516750,-516350,3814,3814,0 +5130,chaos,-520364,-519720,-519920,-519520,644,644,0 +5131,chaos,-520364,-518220,-518420,-518020,2144,2144,0 +5132,chaos,-520364,-516740,-516940,-516540,3624,3624,0 +5133,chaos,-520364,-522580,-522780,-522380,2216,-2216,0 +5134,chaos,-520364,-523490,-523690,-523290,3126,-3126,0 +5135,chaos,-520364,-524010,-524210,-523810,3646,-3646,0 +5136,chaos,-520364,-524310,-524510,-524110,3946,-3946,0 +5137,chaos,-520364,-519620,-519820,-519420,744,744,0 +5138,chaos,-520364,-519370,-519570,-519170,994,994,0 +5139,chaos,-520364,-516140,-516340,-515940,4224,4224,0 +5140,chaos,-520364,-521290,-521490,-521090,926,-926,0 +5141,chaos,-520364,-522300,-522500,-522100,1936,-1936,0 +5142,chaos,-520364,-516300,-516500,-516100,4064,4064,0 +5143,chaos,-520364,-518500,-518700,-518300,1864,1864,0 +5144,chaos,-520364,-519140,-519340,-518940,1224,1224,0 +5145,chaos,-520364,-524350,-524550,-524150,3986,-3986,0 +5146,chaos,-520364,-518940,-519140,-518740,1424,1424,0 +5147,chaos,-520364,-525130,-525330,-524930,4766,-4766,0 +5148,chaos,-520364,-517920,-518120,-517720,2444,2444,0 +5149,chaos,-520364,-519890,-520090,-519690,474,474,0 +5150,chaos,-520364,-520100,-520300,-519900,264,264,0.35 +5151,chaos,-520364,-516070,-516270,-515870,4294,4294,0 +5152,chaos,-520364,-523750,-523950,-523550,3386,-3386,0 +5153,chaos,-520364,-516790,-516990,-516590,3574,3574,0 +5154,chaos,-520364,-523570,-523770,-523370,3206,-3206,0 +5155,chaos,-520364,-515710,-515910,-515510,4654,4654,0 +5156,chaos,-520364,-518240,-518440,-518040,2124,2124,0 +5157,chaos,-520364,-517810,-518010,-517610,2554,2554,0 +5158,chaos,-520364,-522040,-522240,-521840,1676,-1676,0 +5159,chaos,-520364,-521360,-521560,-521160,996,-996,0 +5160,chaos,-520364,-518400,-518600,-518200,1964,1964,0 +5161,chaos,-520364,-518080,-518280,-517880,2284,2284,0 +5162,chaos,-520364,-516600,-516800,-516400,3764,3764,0 +5163,chaos,-520364,-524460,-524660,-524260,4096,-4096,0 +5164,chaos,-520364,-522890,-523090,-522690,2526,-2526,0 +5165,chaos,-520364,-519740,-519940,-519540,624,624,0 +5166,chaos,-520364,-522250,-522450,-522050,1886,-1886,0 +5167,chaos,-520364,-525070,-525270,-524870,4706,-4706,0 +5168,chaos,-520364,-518160,-518360,-517960,2204,2204,0 +5169,chaos,-520364,-517150,-517350,-516950,3214,3214,0 +5170,chaos,-520364,-523960,-524160,-523760,3596,-3596,0 +5171,chaos,-520364,-523910,-524110,-523710,3546,-3546,0 +5172,chaos,-520364,-520360,-520560,-520160,4,4,1 +5173,chaos,-520364,-516390,-516590,-516190,3974,3974,0 +5174,chaos,-520364,-523500,-523700,-523300,3136,-3136,0 +5175,chaos,-520364,-525100,-525300,-524900,4736,-4736,0 +5176,chaos,-520364,-520010,-520210,-519810,354,354,0.125 +5177,chaos,-520364,-517870,-518070,-517670,2494,2494,0 +5178,chaos,-520364,-517220,-517420,-517020,3144,3144,0 +5179,chaos,-520364,-522950,-523150,-522750,2586,-2586,0 +5180,chaos,-520364,-521520,-521720,-521320,1156,-1156,0 +5181,chaos,-520364,-523470,-523670,-523270,3106,-3106,0 +5182,chaos,-520364,-525160,-525360,-524960,4796,-4796,0 +5183,chaos,-520364,-516320,-516520,-516120,4044,4044,0 +5184,chaos,-520364,-520610,-520810,-520410,246,-246,0.375 +5185,chaos,-520364,-524790,-524990,-524590,4426,-4426,0 +5186,chaos,-520364,-516220,-516420,-516020,4144,4144,0 +5187,chaos,-520364,-517290,-517490,-517090,3074,3074,0 +5188,chaos,-520364,-519190,-519390,-518990,1174,1174,0 +5189,chaos,-520364,-519610,-519810,-519410,754,754,0 +5190,chaos,-520364,-519360,-519560,-519160,1004,1004,0 +5191,chaos,-520364,-516680,-516880,-516480,3684,3684,0 +5192,chaos,-520364,-521460,-521660,-521260,1096,-1096,0 +5193,chaos,-520364,-516930,-517130,-516730,3434,3434,0 +5194,chaos,-520364,-521540,-521740,-521340,1176,-1176,0 +5195,chaos,-520364,-515700,-515900,-515500,4664,4664,0 +5196,chaos,-520364,-524960,-525160,-524760,4596,-4596,0 +5197,chaos,-520364,-522000,-522200,-521800,1636,-1636,0 +5198,chaos,-520364,-519250,-519450,-519050,1114,1114,0 +5199,chaos,-520364,-522360,-522560,-522160,1996,-1996,0 +5200,chaos,-520364,-517320,-517520,-517120,3044,3044,0 +5201,chaos,-520364,-523580,-523780,-523380,3216,-3216,0 +5202,chaos,-520364,-522590,-522790,-522390,2226,-2226,0 +5203,chaos,-520364,-524410,-524610,-524210,4046,-4046,0 +5204,chaos,-520364,-523520,-523720,-523320,3156,-3156,0 +5205,chaos,-520364,-515510,-515710,-515310,4854,4854,0 +5206,chaos,-520364,-523010,-523210,-522810,2646,-2646,0 +5207,chaos,-520364,-518920,-519120,-518720,1444,1444,0 +5208,chaos,-520364,-520600,-520800,-520400,236,-236,0.4 +5209,chaos,-520364,-516700,-516900,-516500,3664,3664,0 +5210,chaos,-520364,-518540,-518740,-518340,1824,1824,0 +5211,chaos,-520364,-523130,-523330,-522930,2766,-2766,0 +5212,chaos,-520364,-516290,-516490,-516090,4074,4074,0 +5213,chaos,-520364,-520760,-520960,-520560,396,-396,0 +5214,chaos,-520364,-524490,-524690,-524290,4126,-4126,0 +5215,chaos,-520364,-520740,-520940,-520540,376,-376,0.05 +5216,chaos,-520364,-515570,-515770,-515370,4794,4794,0 +5217,chaos,-520364,-518570,-518770,-518370,1794,1794,0 +5218,chaos,-520364,-517290,-517490,-517090,3074,3074,0 +5219,chaos,-520364,-522580,-522780,-522380,2216,-2216,0 +5220,chaos,-520364,-524930,-525130,-524730,4566,-4566,0 +5221,chaos,-520364,-525270,-525470,-525070,4906,-4906,0 +5222,chaos,-520364,-515920,-516120,-515720,4444,4444,0 +5223,chaos,-520364,-518040,-518240,-517840,2324,2324,0 +5224,chaos,-520364,-521920,-522120,-521720,1556,-1556,0 +5225,chaos,-520364,-521200,-521400,-521000,836,-836,0 +5226,chaos,-520364,-515740,-515940,-515540,4624,4624,0 +5227,chaos,-520364,-520680,-520880,-520480,316,-316,0.2 +5228,chaos,-520364,-519250,-519450,-519050,1114,1114,0 +5229,chaos,-520364,-523180,-523380,-522980,2816,-2816,0 +5230,chaos,-520364,-522530,-522730,-522330,2166,-2166,0 +5231,chaos,-520364,-517550,-517750,-517350,2814,2814,0 +5232,chaos,-520364,-524800,-525000,-524600,4436,-4436,0 +5233,chaos,-520364,-520520,-520720,-520320,156,-156,0.6 +5234,chaos,-520364,-521330,-521530,-521130,966,-966,0 +5235,chaos,-520364,-524560,-524760,-524360,4196,-4196,0 +5236,chaos,-520364,-522940,-523140,-522740,2576,-2576,0 +5237,chaos,-520364,-523760,-523960,-523560,3396,-3396,0 +5238,chaos,-520364,-521950,-522150,-521750,1586,-1586,0 +5239,chaos,-520364,-515400,-515600,-515200,4964,4964,0 +5240,chaos,-520364,-524770,-524970,-524570,4406,-4406,0 +5241,chaos,-520364,-516920,-517120,-516720,3444,3444,0 +5242,chaos,-520364,-517150,-517350,-516950,3214,3214,0 +5243,chaos,-520364,-520100,-520300,-519900,264,264,0.35 +5244,chaos,-520364,-519530,-519730,-519330,834,834,0 +5245,chaos,-520364,-516100,-516300,-515900,4264,4264,0 +5246,chaos,-520364,-517570,-517770,-517370,2794,2794,0 +5247,chaos,-520364,-516480,-516680,-516280,3884,3884,0 +5248,chaos,-520364,-515720,-515920,-515520,4644,4644,0 +5249,chaos,-520364,-523970,-524170,-523770,3606,-3606,0 +5250,chaos,-520364,-520230,-520430,-520030,134,134,0.675 +5251,chaos,-520364,-516010,-516210,-515810,4354,4354,0 +5252,chaos,-520364,-516470,-516670,-516270,3894,3894,0 +5253,chaos,-520364,-525110,-525310,-524910,4746,-4746,0 +5254,chaos,-520364,-521800,-522000,-521600,1436,-1436,0 +5255,chaos,-520364,-521810,-522010,-521610,1446,-1446,0 +5256,chaos,-520364,-516460,-516660,-516260,3904,3904,0 +5257,chaos,-520364,-518000,-518200,-517800,2364,2364,0 +5258,chaos,-520364,-523430,-523630,-523230,3066,-3066,0 +5259,chaos,-520364,-517460,-517660,-517260,2904,2904,0 +5260,chaos,-520364,-522790,-522990,-522590,2426,-2426,0 +5261,chaos,-520364,-515590,-515790,-515390,4774,4774,0 +5262,chaos,-520364,-519420,-519620,-519220,944,944,0 +5263,chaos,-520364,-518220,-518420,-518020,2144,2144,0 +5264,chaos,-520364,-519460,-519660,-519260,904,904,0 +5265,chaos,-520364,-522060,-522260,-521860,1696,-1696,0 +5266,chaos,-520364,-519620,-519820,-519420,744,744,0 +5267,chaos,-520364,-518040,-518240,-517840,2324,2324,0 +5268,chaos,-520364,-519470,-519670,-519270,894,894,0 +5269,chaos,-520364,-520130,-520330,-519930,234,234,0.425 +5270,chaos,-520364,-515520,-515720,-515320,4844,4844,0 +5271,chaos,-520364,-521620,-521820,-521420,1256,-1256,0 +5272,chaos,-520364,-521130,-521330,-520930,766,-766,0 +5273,chaos,-520364,-520600,-520800,-520400,236,-236,0.4 +5274,chaos,-520364,-524780,-524980,-524580,4416,-4416,0 +5275,chaos,-520364,-518630,-518830,-518430,1734,1734,0 +5276,chaos,-520364,-522080,-522280,-521880,1716,-1716,0 +5277,chaos,-520364,-517960,-518160,-517760,2404,2404,0 +5278,chaos,-520364,-517730,-517930,-517530,2634,2634,0 +5279,chaos,-520364,-519780,-519980,-519580,584,584,0 +5280,chaos,-520364,-519670,-519870,-519470,694,694,0 +5281,chaos,-520364,-519340,-519540,-519140,1024,1024,0 +5282,chaos,-520364,-519030,-519230,-518830,1334,1334,0 +5283,chaos,-520364,-520530,-520730,-520330,166,-166,0.575 +5284,chaos,-520364,-515430,-515630,-515230,4934,4934,0 +5285,chaos,-520364,-525030,-525230,-524830,4666,-4666,0 +5286,chaos,-520364,-523350,-523550,-523150,2986,-2986,0 +5287,chaos,-520364,-524450,-524650,-524250,4086,-4086,0 +5288,chaos,-520364,-523310,-523510,-523110,2946,-2946,0 +5289,chaos,-520364,-517980,-518180,-517780,2384,2384,0 +5290,chaos,-520364,-521720,-521920,-521520,1356,-1356,0 +5291,chaos,-520364,-523480,-523680,-523280,3116,-3116,0 +5292,chaos,-520364,-523410,-523610,-523210,3046,-3046,0 +5293,chaos,-520364,-520070,-520270,-519870,294,294,0.275 +5294,chaos,-520364,-515930,-516130,-515730,4434,4434,0 +5295,chaos,-520364,-516120,-516320,-515920,4244,4244,0 +5296,chaos,-520364,-517960,-518160,-517760,2404,2404,0 +5297,chaos,-520364,-523280,-523480,-523080,2916,-2916,0 +5298,chaos,-520364,-524090,-524290,-523890,3726,-3726,0 +5299,chaos,-520364,-520690,-520890,-520490,326,-326,0.175 +5300,chaos,-520364,-517940,-518140,-517740,2424,2424,0 +5301,chaos,-520364,-518030,-518230,-517830,2334,2334,0 +5302,chaos,-520364,-523850,-524050,-523650,3486,-3486,0 +5303,chaos,-520364,-518520,-518720,-518320,1844,1844,0 +5304,chaos,-520364,-523340,-523540,-523140,2976,-2976,0 +5305,chaos,-520364,-517610,-517810,-517410,2754,2754,0 +5306,chaos,-520364,-525180,-525380,-524980,4816,-4816,0 +5307,chaos,-520364,-520240,-520440,-520040,124,124,0.7 +5308,chaos,-520364,-523600,-523800,-523400,3236,-3236,0 +5309,chaos,-520364,-524220,-524420,-524020,3856,-3856,0 +5310,chaos,-520364,-518030,-518230,-517830,2334,2334,0 +5311,chaos,-520364,-524990,-525190,-524790,4626,-4626,0 +5312,chaos,-520364,-525090,-525290,-524890,4726,-4726,0 +5313,chaos,-520364,-524350,-524550,-524150,3986,-3986,0 +5314,chaos,-520364,-523370,-523570,-523170,3006,-3006,0 +5315,chaos,-520364,-516050,-516250,-515850,4314,4314,0 +5316,chaos,-520364,-524880,-525080,-524680,4516,-4516,0 +5317,chaos,-520364,-524050,-524250,-523850,3686,-3686,0 +5318,chaos,-520364,-522140,-522340,-521940,1776,-1776,0 +5319,chaos,-520364,-520040,-520240,-519840,324,324,0.2 +5320,chaos,-520364,-519120,-519320,-518920,1244,1244,0 +5321,chaos,-520364,-521990,-522190,-521790,1626,-1626,0 +5322,chaos,-520364,-524280,-524480,-524080,3916,-3916,0 +5323,chaos,-520364,-522420,-522620,-522220,2056,-2056,0 +5324,chaos,-520364,-520890,-521090,-520690,526,-526,0 +5325,chaos,-520364,-521870,-522070,-521670,1506,-1506,0 +5326,chaos,-520364,-516520,-516720,-516320,3844,3844,0 +5327,chaos,-520364,-521000,-521200,-520800,636,-636,0 +5328,chaos,-520364,-521830,-522030,-521630,1466,-1466,0 +5329,chaos,-520364,-523530,-523730,-523330,3166,-3166,0 +5330,chaos,-520364,-516640,-516840,-516440,3724,3724,0 +5331,chaos,-520364,-517190,-517390,-516990,3174,3174,0 +5332,chaos,-520364,-522400,-522600,-522200,2036,-2036,0 +5333,chaos,-520364,-519730,-519930,-519530,634,634,0 +5334,chaos,-520364,-522670,-522870,-522470,2306,-2306,0 +5335,chaos,-520364,-520700,-520900,-520500,336,-336,0.15 +5336,chaos,-520364,-517790,-517990,-517590,2574,2574,0 +5337,chaos,-520364,-524540,-524740,-524340,4176,-4176,0 +5338,chaos,-520364,-518790,-518990,-518590,1574,1574,0 +5339,chaos,-520364,-525140,-525340,-524940,4776,-4776,0 +5340,chaos,-520364,-519470,-519670,-519270,894,894,0 +5341,chaos,-520364,-525040,-525240,-524840,4676,-4676,0 +5342,chaos,-520364,-517420,-517620,-517220,2944,2944,0 +5343,chaos,-520364,-522000,-522200,-521800,1636,-1636,0 +5344,chaos,-520364,-525340,-525540,-525140,4976,-4976,0 +5345,chaos,-520364,-521850,-522050,-521650,1486,-1486,0 +5346,chaos,-520364,-515910,-516110,-515710,4454,4454,0 +5347,chaos,-520364,-525310,-525510,-525110,4946,-4946,0 +5348,chaos,-520364,-518980,-519180,-518780,1384,1384,0 +5349,chaos,-520364,-517050,-517250,-516850,3314,3314,0 +5350,chaos,-520364,-520360,-520560,-520160,4,4,1 +5351,chaos,-520364,-519020,-519220,-518820,1344,1344,0 +5352,chaos,-520364,-520020,-520220,-519820,344,344,0.15 +5353,chaos,-520364,-516810,-517010,-516610,3554,3554,0 +5354,chaos,-520364,-521330,-521530,-521130,966,-966,0 +5355,chaos,-520364,-517940,-518140,-517740,2424,2424,0 +5356,chaos,-520364,-519150,-519350,-518950,1214,1214,0 +5357,chaos,-520364,-524930,-525130,-524730,4566,-4566,0 +5358,chaos,-520364,-518460,-518660,-518260,1904,1904,0 +5359,chaos,-520364,-518470,-518670,-518270,1894,1894,0 +5360,chaos,-520364,-517050,-517250,-516850,3314,3314,0 +5361,chaos,-520364,-521560,-521760,-521360,1196,-1196,0 +5362,chaos,-520364,-524320,-524520,-524120,3956,-3956,0 +5363,chaos,-520364,-525010,-525210,-524810,4646,-4646,0 +5364,chaos,-520364,-516200,-516400,-516000,4164,4164,0 +5365,chaos,-520364,-524380,-524580,-524180,4016,-4016,0 +5366,chaos,-520364,-515530,-515730,-515330,4834,4834,0 +5367,chaos,-520364,-516780,-516980,-516580,3584,3584,0 +5368,chaos,-520364,-515540,-515740,-515340,4824,4824,0 +5369,chaos,-520364,-523060,-523260,-522860,2696,-2696,0 +5370,chaos,-520364,-522610,-522810,-522410,2246,-2246,0 +5371,chaos,-520364,-523960,-524160,-523760,3596,-3596,0 +5372,chaos,-520364,-515540,-515740,-515340,4824,4824,0 +5373,chaos,-520364,-524540,-524740,-524340,4176,-4176,0 +5374,chaos,-520364,-524570,-524770,-524370,4206,-4206,0 +5375,chaos,-520364,-522940,-523140,-522740,2576,-2576,0 +5376,chaos,-520364,-517370,-517570,-517170,2994,2994,0 +5377,chaos,-520364,-520530,-520730,-520330,166,-166,0.575 +5378,chaos,-520364,-518410,-518610,-518210,1954,1954,0 +5379,chaos,-520364,-515810,-516010,-515610,4554,4554,0 +5380,chaos,-520364,-519250,-519450,-519050,1114,1114,0 +5381,chaos,-520364,-521740,-521940,-521540,1376,-1376,0 +5382,chaos,-520364,-523920,-524120,-523720,3556,-3556,0 +5383,chaos,-520364,-518560,-518760,-518360,1804,1804,0 +5384,chaos,-520364,-515850,-516050,-515650,4514,4514,0 +5385,chaos,-520364,-519740,-519940,-519540,624,624,0 +5386,chaos,-520364,-522490,-522690,-522290,2126,-2126,0 +5387,chaos,-520364,-520800,-521000,-520600,436,-436,0 +5388,chaos,-520364,-519070,-519270,-518870,1294,1294,0 +5389,chaos,-520364,-520190,-520390,-519990,174,174,0.575 +5390,chaos,-520364,-522200,-522400,-522000,1836,-1836,0 +5391,chaos,-520364,-520520,-520720,-520320,156,-156,0.6 +5392,chaos,-520364,-518900,-519100,-518700,1464,1464,0 +5393,chaos,-520364,-520360,-520560,-520160,4,4,1 +5394,chaos,-520364,-518260,-518460,-518060,2104,2104,0 +5395,chaos,-520364,-517430,-517630,-517230,2934,2934,0 +5396,chaos,-520364,-516150,-516350,-515950,4214,4214,0 +5397,chaos,-520364,-518040,-518240,-517840,2324,2324,0 +5398,chaos,-520364,-523380,-523580,-523180,3016,-3016,0 +5399,chaos,-520364,-522860,-523060,-522660,2496,-2496,0 +5400,chaos,-520364,-516220,-516420,-516020,4144,4144,0 +5401,chaos,-520364,-516740,-516940,-516540,3624,3624,0 +5402,chaos,-520364,-520550,-520750,-520350,186,-186,0.525 +5403,chaos,-520364,-515750,-515950,-515550,4614,4614,0 +5404,chaos,-520364,-518430,-518630,-518230,1934,1934,0 +5405,chaos,-520364,-523560,-523760,-523360,3196,-3196,0 +5406,chaos,-520364,-518400,-518600,-518200,1964,1964,0 +5407,chaos,-520364,-516590,-516790,-516390,3774,3774,0 +5408,chaos,-520364,-518880,-519080,-518680,1484,1484,0 +5409,chaos,-520364,-522910,-523110,-522710,2546,-2546,0 +5410,chaos,-520364,-522360,-522560,-522160,1996,-1996,0 +5411,chaos,-520364,-522480,-522680,-522280,2116,-2116,0 +5412,chaos,-520364,-516390,-516590,-516190,3974,3974,0 +5413,chaos,-520364,-523880,-524080,-523680,3516,-3516,0 +5414,chaos,-520364,-521880,-522080,-521680,1516,-1516,0 +5415,chaos,-520364,-516440,-516640,-516240,3924,3924,0 +5416,chaos,-520364,-523010,-523210,-522810,2646,-2646,0 +5417,chaos,-520364,-525150,-525350,-524950,4786,-4786,0 +5418,chaos,-520364,-517320,-517520,-517120,3044,3044,0 +5419,chaos,-520364,-518460,-518660,-518260,1904,1904,0 +5420,chaos,-520364,-522980,-523180,-522780,2616,-2616,0 +5421,chaos,-520364,-518520,-518720,-518320,1844,1844,0 +5422,chaos,-520364,-524790,-524990,-524590,4426,-4426,0 +5423,chaos,-520364,-524270,-524470,-524070,3906,-3906,0 +5424,chaos,-520364,-516540,-516740,-516340,3824,3824,0 +5425,chaos,-520364,-519050,-519250,-518850,1314,1314,0 +5426,chaos,-520364,-516770,-516970,-516570,3594,3594,0 +5427,chaos,-520364,-515510,-515710,-515310,4854,4854,0 +5428,chaos,-520364,-522080,-522280,-521880,1716,-1716,0 +5429,chaos,-520364,-521940,-522140,-521740,1576,-1576,0 +5430,chaos,-520364,-522970,-523170,-522770,2606,-2606,0 +5431,chaos,-520364,-522550,-522750,-522350,2186,-2186,0 +5432,chaos,-520364,-517880,-518080,-517680,2484,2484,0 +5433,chaos,-520364,-522680,-522880,-522480,2316,-2316,0 +5434,chaos,-520364,-517530,-517730,-517330,2834,2834,0 +5435,chaos,-520364,-517990,-518190,-517790,2374,2374,0 +5436,chaos,-520364,-522700,-522900,-522500,2336,-2336,0 +5437,chaos,-520364,-516370,-516570,-516170,3994,3994,0 +5438,chaos,-520364,-521870,-522070,-521670,1506,-1506,0 +5439,chaos,-520364,-522540,-522740,-522340,2176,-2176,0 +5440,chaos,-520364,-523010,-523210,-522810,2646,-2646,0 +5441,chaos,-520364,-518480,-518680,-518280,1884,1884,0 +5442,chaos,-520364,-517760,-517960,-517560,2604,2604,0 +5443,chaos,-520364,-515650,-515850,-515450,4714,4714,0 +5444,chaos,-520364,-522860,-523060,-522660,2496,-2496,0 +5445,chaos,-520364,-520380,-520580,-520180,16,-16,0.95 +5446,chaos,-520364,-519100,-519300,-518900,1264,1264,0 +5447,chaos,-520364,-521630,-521830,-521430,1266,-1266,0 +5448,chaos,-520364,-523480,-523680,-523280,3116,-3116,0 +5449,chaos,-520364,-518880,-519080,-518680,1484,1484,0 +5450,chaos,-520364,-521660,-521860,-521460,1296,-1296,0 +5451,chaos,-520364,-515400,-515600,-515200,4964,4964,0 +5452,chaos,-520364,-522850,-523050,-522650,2486,-2486,0 +5453,chaos,-520364,-518890,-519090,-518690,1474,1474,0 +5454,chaos,-520364,-520560,-520760,-520360,196,-196,0.5 +5455,chaos,-520364,-517200,-517400,-517000,3164,3164,0 +5456,chaos,-520364,-523810,-524010,-523610,3446,-3446,0 +5457,chaos,-520364,-524660,-524860,-524460,4296,-4296,0 +5458,chaos,-520364,-516280,-516480,-516080,4084,4084,0 +5459,chaos,-520364,-522540,-522740,-522340,2176,-2176,0 +5460,chaos,-520364,-520260,-520460,-520060,104,104,0.75 +5461,chaos,-520364,-521740,-521940,-521540,1376,-1376,0 +5462,chaos,-520364,-519440,-519640,-519240,924,924,0 +5463,chaos,-520364,-517930,-518130,-517730,2434,2434,0 +5464,chaos,-520364,-521410,-521610,-521210,1046,-1046,0 +5465,chaos,-520364,-516430,-516630,-516230,3934,3934,0 +5466,chaos,-520364,-515940,-516140,-515740,4424,4424,0 +5467,chaos,-520364,-524190,-524390,-523990,3826,-3826,0 +5468,chaos,-520364,-515530,-515730,-515330,4834,4834,0 +5469,chaos,-520364,-516170,-516370,-515970,4194,4194,0 +5470,chaos,-520364,-524890,-525090,-524690,4526,-4526,0 +5471,chaos,-520364,-522070,-522270,-521870,1706,-1706,0 +5472,chaos,-520364,-522010,-522210,-521810,1646,-1646,0 +5473,chaos,-520364,-519950,-520150,-519750,414,414,0 +5474,chaos,-520364,-525210,-525410,-525010,4846,-4846,0 +5475,chaos,-520364,-521770,-521970,-521570,1406,-1406,0 +5476,chaos,-520364,-519510,-519710,-519310,854,854,0 +5477,chaos,-520364,-516770,-516970,-516570,3594,3594,0 +5478,chaos,-520364,-524420,-524620,-524220,4056,-4056,0 +5479,chaos,-520364,-519280,-519480,-519080,1084,1084,0 +5480,chaos,-520364,-515980,-516180,-515780,4384,4384,0 +5481,chaos,-520364,-523210,-523410,-523010,2846,-2846,0 +5482,chaos,-520364,-521560,-521760,-521360,1196,-1196,0 +5483,chaos,-520364,-522390,-522590,-522190,2026,-2026,0 +5484,chaos,-520364,-524770,-524970,-524570,4406,-4406,0 +5485,chaos,-520364,-523150,-523350,-522950,2786,-2786,0 +5486,chaos,-520364,-522020,-522220,-521820,1656,-1656,0 +5487,chaos,-520364,-524900,-525100,-524700,4536,-4536,0 +5488,chaos,-520364,-515550,-515750,-515350,4814,4814,0 +5489,chaos,-520364,-523300,-523500,-523100,2936,-2936,0 +5490,chaos,-520364,-519730,-519930,-519530,634,634,0 +5491,chaos,-520364,-519470,-519670,-519270,894,894,0 +5492,chaos,-520364,-518020,-518220,-517820,2344,2344,0 +5493,chaos,-520364,-520280,-520480,-520080,84,84,0.8 +5494,chaos,-520364,-518150,-518350,-517950,2214,2214,0 +5495,chaos,-520364,-522020,-522220,-521820,1656,-1656,0 +5496,chaos,-520364,-518990,-519190,-518790,1374,1374,0 +5497,chaos,-520364,-517300,-517500,-517100,3064,3064,0 +5498,chaos,-520364,-524240,-524440,-524040,3876,-3876,0 +5499,chaos,-520364,-516560,-516760,-516360,3804,3804,0 +5500,chaos,-520364,-521300,-521500,-521100,936,-936,0 +5501,chaos,-520364,-516140,-516340,-515940,4224,4224,0 +5502,chaos,-520364,-519930,-520130,-519730,434,434,0 +5503,chaos,-520364,-522790,-522990,-522590,2426,-2426,0 +5504,chaos,-520364,-517110,-517310,-516910,3254,3254,0 +5505,chaos,-520364,-519960,-520160,-519760,404,404,0 +5506,chaos,-520364,-522390,-522590,-522190,2026,-2026,0 +5507,chaos,-520364,-520610,-520810,-520410,246,-246,0.375 +5508,chaos,-520364,-517420,-517620,-517220,2944,2944,0 +5509,chaos,-520364,-516020,-516220,-515820,4344,4344,0 +5510,chaos,-520364,-523880,-524080,-523680,3516,-3516,0 +5511,chaos,-520364,-519410,-519610,-519210,954,954,0 +5512,chaos,-520364,-516110,-516310,-515910,4254,4254,0 +5513,chaos,-520364,-519940,-520140,-519740,424,424,0 +5514,chaos,-520364,-520190,-520390,-519990,174,174,0.575 +5515,chaos,-520364,-522160,-522360,-521960,1796,-1796,0 +5516,chaos,-520364,-525160,-525360,-524960,4796,-4796,0 +5517,chaos,-520364,-523330,-523530,-523130,2966,-2966,0 +5518,chaos,-520364,-519460,-519660,-519260,904,904,0 +5519,chaos,-520364,-516370,-516570,-516170,3994,3994,0 +5520,chaos,-520364,-516570,-516770,-516370,3794,3794,0 +5521,chaos,-520364,-524250,-524450,-524050,3886,-3886,0 +5522,chaos,-520364,-524380,-524580,-524180,4016,-4016,0 +5523,chaos,-520364,-523740,-523940,-523540,3376,-3376,0 +5524,chaos,-520364,-518360,-518560,-518160,2004,2004,0 +5525,chaos,-520364,-519810,-520010,-519610,554,554,0 +5526,chaos,-520364,-515370,-515570,-515170,4994,4994,0 +5527,chaos,-520364,-520540,-520740,-520340,176,-176,0.55 +5528,chaos,-520364,-515660,-515860,-515460,4704,4704,0 +5529,chaos,-520364,-519180,-519380,-518980,1184,1184,0 +5530,chaos,-520364,-518650,-518850,-518450,1714,1714,0 +5531,chaos,-520364,-520580,-520780,-520380,216,-216,0.45 +5532,chaos,-520364,-517200,-517400,-517000,3164,3164,0 +5533,chaos,-520364,-520020,-520220,-519820,344,344,0.15 +5534,chaos,-520364,-522430,-522630,-522230,2066,-2066,0 +5535,chaos,-520364,-516970,-517170,-516770,3394,3394,0 +5536,chaos,-520364,-518300,-518500,-518100,2064,2064,0 +5537,chaos,-520364,-516170,-516370,-515970,4194,4194,0 +5538,chaos,-520364,-518290,-518490,-518090,2074,2074,0 +5539,chaos,-520364,-519350,-519550,-519150,1014,1014,0 +5540,chaos,-520364,-522520,-522720,-522320,2156,-2156,0 +5541,chaos,-520364,-523930,-524130,-523730,3566,-3566,0 +5542,chaos,-520364,-525160,-525360,-524960,4796,-4796,0 +5543,chaos,-520364,-516110,-516310,-515910,4254,4254,0 +5544,chaos,-520364,-524760,-524960,-524560,4396,-4396,0 +5545,chaos,-520364,-518450,-518650,-518250,1914,1914,0 +5546,chaos,-520364,-524390,-524590,-524190,4026,-4026,0 +5547,chaos,-520364,-521200,-521400,-521000,836,-836,0 +5548,chaos,-520364,-516290,-516490,-516090,4074,4074,0 +5549,chaos,-520364,-518080,-518280,-517880,2284,2284,0 +5550,chaos,-520364,-517970,-518170,-517770,2394,2394,0 +5551,chaos,-520364,-518030,-518230,-517830,2334,2334,0 +5552,chaos,-520364,-516820,-517020,-516620,3544,3544,0 +5553,chaos,-520364,-522500,-522700,-522300,2136,-2136,0 +5554,chaos,-520364,-520200,-520400,-520000,164,164,0.6 +5555,chaos,-520364,-517520,-517720,-517320,2844,2844,0 +5556,chaos,-520364,-518040,-518240,-517840,2324,2324,0 +5557,chaos,-520364,-521560,-521760,-521360,1196,-1196,0 +5558,chaos,-520364,-517890,-518090,-517690,2474,2474,0 +5559,chaos,-520364,-519350,-519550,-519150,1014,1014,0 +5560,chaos,-520364,-523510,-523710,-523310,3146,-3146,0 +5561,chaos,-520364,-519240,-519440,-519040,1124,1124,0 +5562,chaos,-520364,-517580,-517780,-517380,2784,2784,0 +5563,chaos,-520364,-519840,-520040,-519640,524,524,0 +5564,chaos,-520364,-522410,-522610,-522210,2046,-2046,0 +5565,chaos,-520364,-516730,-516930,-516530,3634,3634,0 +5566,chaos,-520364,-523660,-523860,-523460,3296,-3296,0 +5567,chaos,-520364,-522850,-523050,-522650,2486,-2486,0 +5568,chaos,-520364,-521860,-522060,-521660,1496,-1496,0 +5569,chaos,-520364,-521820,-522020,-521620,1456,-1456,0 +5570,chaos,-520364,-523270,-523470,-523070,2906,-2906,0 +5571,chaos,-520364,-517760,-517960,-517560,2604,2604,0 +5572,chaos,-520364,-516220,-516420,-516020,4144,4144,0 +5573,chaos,-520364,-520500,-520700,-520300,136,-136,0.65 +5574,chaos,-520364,-523550,-523750,-523350,3186,-3186,0 +5575,chaos,-520364,-518960,-519160,-518760,1404,1404,0 +5576,chaos,-520364,-524960,-525160,-524760,4596,-4596,0 +5577,chaos,-520364,-519770,-519970,-519570,594,594,0 +5578,chaos,-520364,-519400,-519600,-519200,964,964,0 +5579,chaos,-520364,-516510,-516710,-516310,3854,3854,0 +5580,chaos,-520364,-518670,-518870,-518470,1694,1694,0 +5581,chaos,-520364,-516580,-516780,-516380,3784,3784,0 +5582,chaos,-520364,-524400,-524600,-524200,4036,-4036,0 +5583,chaos,-520364,-522510,-522710,-522310,2146,-2146,0 +5584,chaos,-520364,-516490,-516690,-516290,3874,3874,0 +5585,chaos,-520364,-516930,-517130,-516730,3434,3434,0 +5586,chaos,-520364,-523360,-523560,-523160,2996,-2996,0 +5587,chaos,-520364,-519700,-519900,-519500,664,664,0 +5588,chaos,-520364,-519980,-520180,-519780,384,384,0.05 +5589,chaos,-520364,-522680,-522880,-522480,2316,-2316,0 +5590,chaos,-520364,-518270,-518470,-518070,2094,2094,0 +5591,chaos,-520364,-516980,-517180,-516780,3384,3384,0 +5592,chaos,-520364,-516820,-517020,-516620,3544,3544,0 +5593,chaos,-520364,-523720,-523920,-523520,3356,-3356,0 +5594,chaos,-520364,-525330,-525530,-525130,4966,-4966,0 +5595,chaos,-520364,-524380,-524580,-524180,4016,-4016,0 +5596,chaos,-520364,-516500,-516700,-516300,3864,3864,0 +5597,chaos,-520364,-522870,-523070,-522670,2506,-2506,0 +5598,chaos,-520364,-523330,-523530,-523130,2966,-2966,0 +5599,chaos,-520364,-518380,-518580,-518180,1984,1984,0 +5600,chaos,-520364,-518000,-518200,-517800,2364,2364,0 +5601,chaos,-520364,-524020,-524220,-523820,3656,-3656,0 +5602,chaos,-520364,-522970,-523170,-522770,2606,-2606,0 +5603,chaos,-520364,-516050,-516250,-515850,4314,4314,0 +5604,chaos,-520364,-525350,-525550,-525150,4986,-4986,0 +5605,chaos,-520364,-515830,-516030,-515630,4534,4534,0 +5606,chaos,-520364,-519270,-519470,-519070,1094,1094,0 +5607,chaos,-520364,-522330,-522530,-522130,1966,-1966,0 +5608,chaos,-520364,-524530,-524730,-524330,4166,-4166,0 +5609,chaos,-520364,-519280,-519480,-519080,1084,1084,0 +5610,chaos,-520364,-520820,-521020,-520620,456,-456,0 +5611,chaos,-520364,-522880,-523080,-522680,2516,-2516,0 +5612,chaos,-520364,-517490,-517690,-517290,2874,2874,0 +5613,chaos,-520364,-523290,-523490,-523090,2926,-2926,0 +5614,chaos,-520364,-524180,-524380,-523980,3816,-3816,0 +5615,chaos,-520364,-515970,-516170,-515770,4394,4394,0 +5616,chaos,-520364,-517740,-517940,-517540,2624,2624,0 +5617,chaos,-520364,-524640,-524840,-524440,4276,-4276,0 +5618,chaos,-520364,-519710,-519910,-519510,654,654,0 +5619,chaos,-520364,-517020,-517220,-516820,3344,3344,0 +5620,chaos,-520364,-519060,-519260,-518860,1304,1304,0 +5621,chaos,-520364,-518180,-518380,-517980,2184,2184,0 +5622,chaos,-520364,-521520,-521720,-521320,1156,-1156,0 +5623,chaos,-520364,-524160,-524360,-523960,3796,-3796,0 +5624,chaos,-520364,-515630,-515830,-515430,4734,4734,0 +5625,chaos,-520364,-524320,-524520,-524120,3956,-3956,0 +5626,chaos,-520364,-523390,-523590,-523190,3026,-3026,0 +5627,chaos,-520364,-517210,-517410,-517010,3154,3154,0 +5628,chaos,-520364,-520430,-520630,-520230,66,-66,0.825 +5629,chaos,-520364,-521930,-522130,-521730,1566,-1566,0 +5630,chaos,-520364,-515470,-515670,-515270,4894,4894,0 +5631,chaos,-520364,-525260,-525460,-525060,4896,-4896,0 +5632,chaos,-520364,-518470,-518670,-518270,1894,1894,0 +5633,chaos,-520364,-517870,-518070,-517670,2494,2494,0 +5634,chaos,-520364,-523010,-523210,-522810,2646,-2646,0 +5635,chaos,-520364,-523280,-523480,-523080,2916,-2916,0 +5636,chaos,-520364,-522070,-522270,-521870,1706,-1706,0 +5637,chaos,-520364,-521970,-522170,-521770,1606,-1606,0 +5638,chaos,-520364,-519420,-519620,-519220,944,944,0 +5639,chaos,-520364,-524000,-524200,-523800,3636,-3636,0 +5640,chaos,-520364,-517240,-517440,-517040,3124,3124,0 +5641,chaos,-520364,-521740,-521940,-521540,1376,-1376,0 +5642,chaos,-520364,-521740,-521940,-521540,1376,-1376,0 +5643,chaos,-520364,-519980,-520180,-519780,384,384,0.05 +5644,chaos,-520364,-519710,-519910,-519510,654,654,0 +5645,chaos,-520364,-521460,-521660,-521260,1096,-1096,0 +5646,chaos,-520364,-524960,-525160,-524760,4596,-4596,0 +5647,chaos,-520364,-521170,-521370,-520970,806,-806,0 +5648,chaos,-520364,-522020,-522220,-521820,1656,-1656,0 +5649,chaos,-520364,-522050,-522250,-521850,1686,-1686,0 +5650,chaos,-520364,-522700,-522900,-522500,2336,-2336,0 +5651,chaos,-520364,-521580,-521780,-521380,1216,-1216,0 +5652,chaos,-520364,-523470,-523670,-523270,3106,-3106,0 +5653,chaos,-520364,-523050,-523250,-522850,2686,-2686,0 +5654,chaos,-520364,-515480,-515680,-515280,4884,4884,0 +5655,chaos,-520364,-521240,-521440,-521040,876,-876,0 +5656,chaos,-520364,-521650,-521850,-521450,1286,-1286,0 +5657,chaos,-520364,-522480,-522680,-522280,2116,-2116,0 +5658,chaos,-520364,-523060,-523260,-522860,2696,-2696,0 +5659,chaos,-520364,-520720,-520920,-520520,356,-356,0.1 +5660,chaos,-520364,-520900,-521100,-520700,536,-536,0 +5661,chaos,-520364,-516650,-516850,-516450,3714,3714,0 +5662,chaos,-520364,-519320,-519520,-519120,1044,1044,0 +5663,chaos,-520364,-520810,-521010,-520610,446,-446,0 +5664,chaos,-520364,-524720,-524920,-524520,4356,-4356,0 +5665,chaos,-520364,-519090,-519290,-518890,1274,1274,0 +5666,chaos,-520364,-521760,-521960,-521560,1396,-1396,0 +5667,chaos,-520364,-524040,-524240,-523840,3676,-3676,0 +5668,chaos,-520364,-519260,-519460,-519060,1104,1104,0 +5669,chaos,-520364,-523780,-523980,-523580,3416,-3416,0 +5670,chaos,-520364,-523990,-524190,-523790,3626,-3626,0 +5671,chaos,-520364,-517500,-517700,-517300,2864,2864,0 +5672,chaos,-520364,-523390,-523590,-523190,3026,-3026,0 +5673,chaos,-520364,-520310,-520510,-520110,54,54,0.875 +5674,chaos,-520364,-523020,-523220,-522820,2656,-2656,0 +5675,chaos,-520364,-516950,-517150,-516750,3414,3414,0 +5676,chaos,-520364,-520770,-520970,-520570,406,-406,0 +5677,chaos,-520364,-516380,-516580,-516180,3984,3984,0 +5678,chaos,-520364,-516090,-516290,-515890,4274,4274,0 +5679,chaos,-520364,-519380,-519580,-519180,984,984,0 +5680,chaos,-520364,-516490,-516690,-516290,3874,3874,0 +5681,chaos,-520364,-522850,-523050,-522650,2486,-2486,0 +5682,chaos,-520364,-517210,-517410,-517010,3154,3154,0 +5683,chaos,-520364,-516040,-516240,-515840,4324,4324,0 +5684,chaos,-520364,-517920,-518120,-517720,2444,2444,0 +5685,chaos,-520364,-517070,-517270,-516870,3294,3294,0 +5686,chaos,-520364,-521050,-521250,-520850,686,-686,0 +5687,chaos,-520364,-515930,-516130,-515730,4434,4434,0 +5688,chaos,-520364,-524330,-524530,-524130,3966,-3966,0 +5689,chaos,-520364,-518610,-518810,-518410,1754,1754,0 +5690,chaos,-520364,-522710,-522910,-522510,2346,-2346,0 +5691,chaos,-520364,-523250,-523450,-523050,2886,-2886,0 +5692,chaos,-520364,-519120,-519320,-518920,1244,1244,0 +5693,chaos,-520364,-516830,-517030,-516630,3534,3534,0 +5694,chaos,-520364,-524240,-524440,-524040,3876,-3876,0 +5695,chaos,-520364,-524930,-525130,-524730,4566,-4566,0 +5696,chaos,-520364,-515870,-516070,-515670,4494,4494,0 +5697,chaos,-520364,-523980,-524180,-523780,3616,-3616,0 +5698,chaos,-520364,-522700,-522900,-522500,2336,-2336,0 +5699,chaos,-520364,-524190,-524390,-523990,3826,-3826,0 +5700,chaos,-520364,-522880,-523080,-522680,2516,-2516,0 +5701,chaos,-520364,-520960,-521160,-520760,596,-596,0 +5702,chaos,-520364,-521700,-521900,-521500,1336,-1336,0 +5703,chaos,-520364,-519090,-519290,-518890,1274,1274,0 +5704,chaos,-520364,-524250,-524450,-524050,3886,-3886,0 +5705,chaos,-520364,-521890,-522090,-521690,1526,-1526,0 +5706,chaos,-520364,-523790,-523990,-523590,3426,-3426,0 +5707,chaos,-520364,-517030,-517230,-516830,3334,3334,0 +5708,chaos,-520364,-523940,-524140,-523740,3576,-3576,0 +5709,chaos,-520364,-519290,-519490,-519090,1074,1074,0 +5710,chaos,-520364,-517270,-517470,-517070,3094,3094,0 +5711,chaos,-520364,-525190,-525390,-524990,4826,-4826,0 +5712,chaos,-520364,-519000,-519200,-518800,1364,1364,0 +5713,chaos,-520364,-517180,-517380,-516980,3184,3184,0 +5714,chaos,-520364,-522660,-522860,-522460,2296,-2296,0 +5715,chaos,-520364,-522390,-522590,-522190,2026,-2026,0 +5716,chaos,-520364,-523600,-523800,-523400,3236,-3236,0 +5717,chaos,-520364,-522100,-522300,-521900,1736,-1736,0 +5718,chaos,-520364,-523710,-523910,-523510,3346,-3346,0 +5719,chaos,-520364,-517440,-517640,-517240,2924,2924,0 +5720,chaos,-520364,-517810,-518010,-517610,2554,2554,0 +5721,chaos,-520364,-518770,-518970,-518570,1594,1594,0 +5722,chaos,-520364,-523020,-523220,-522820,2656,-2656,0 +5723,chaos,-520364,-524460,-524660,-524260,4096,-4096,0 +5724,chaos,-520364,-521460,-521660,-521260,1096,-1096,0 +5725,chaos,-520364,-525300,-525500,-525100,4936,-4936,0 +5726,chaos,-520364,-523160,-523360,-522960,2796,-2796,0 +5727,chaos,-520364,-516170,-516370,-515970,4194,4194,0 +5728,chaos,-520364,-516850,-517050,-516650,3514,3514,0 +5729,chaos,-520364,-523000,-523200,-522800,2636,-2636,0 +5730,chaos,-520364,-516650,-516850,-516450,3714,3714,0 +5731,chaos,-520364,-519960,-520160,-519760,404,404,0 +5732,chaos,-520364,-516510,-516710,-516310,3854,3854,0 +5733,chaos,-520364,-518160,-518360,-517960,2204,2204,0 +5734,chaos,-520364,-519220,-519420,-519020,1144,1144,0 +5735,chaos,-520364,-518940,-519140,-518740,1424,1424,0 +5736,chaos,-520364,-523660,-523860,-523460,3296,-3296,0 +5737,chaos,-520364,-521160,-521360,-520960,796,-796,0 +5738,chaos,-520364,-522130,-522330,-521930,1766,-1766,0 +5739,chaos,-520364,-515760,-515960,-515560,4604,4604,0 +5740,chaos,-520364,-515460,-515660,-515260,4904,4904,0 +5741,chaos,-520364,-517200,-517400,-517000,3164,3164,0 +5742,chaos,-520364,-521130,-521330,-520930,766,-766,0 +5743,chaos,-520364,-516100,-516300,-515900,4264,4264,0 +5744,chaos,-520364,-524300,-524500,-524100,3936,-3936,0 +5745,chaos,-520364,-524450,-524650,-524250,4086,-4086,0 +5746,chaos,-520364,-517780,-517980,-517580,2584,2584,0 +5747,chaos,-520364,-523170,-523370,-522970,2806,-2806,0 +5748,chaos,-520364,-516240,-516440,-516040,4124,4124,0 +5749,chaos,-520364,-524300,-524500,-524100,3936,-3936,0 +5750,chaos,-520364,-519020,-519220,-518820,1344,1344,0 +5751,chaos,-520364,-519030,-519230,-518830,1334,1334,0 +5752,chaos,-520364,-516070,-516270,-515870,4294,4294,0 +5753,chaos,-520364,-515790,-515990,-515590,4574,4574,0 +5754,chaos,-520364,-519760,-519960,-519560,604,604,0 +5755,chaos,-520364,-521000,-521200,-520800,636,-636,0 +5756,chaos,-520364,-515900,-516100,-515700,4464,4464,0 +5757,chaos,-520364,-518620,-518820,-518420,1744,1744,0 +5758,chaos,-520364,-515680,-515880,-515480,4684,4684,0 +5759,chaos,-520364,-518700,-518900,-518500,1664,1664,0 +5760,chaos,-520364,-521910,-522110,-521710,1546,-1546,0 +5761,chaos,-520364,-524940,-525140,-524740,4576,-4576,0 +5762,chaos,-520364,-516530,-516730,-516330,3834,3834,0 +5763,chaos,-520364,-522730,-522930,-522530,2366,-2366,0 +5764,chaos,-520364,-520540,-520740,-520340,176,-176,0.55 +5765,chaos,-520364,-518350,-518550,-518150,2014,2014,0 +5766,chaos,-520364,-518790,-518990,-518590,1574,1574,0 +5767,chaos,-520364,-518120,-518320,-517920,2244,2244,0 +5768,chaos,-520364,-519810,-520010,-519610,554,554,0 +5769,chaos,-520364,-518900,-519100,-518700,1464,1464,0 +5770,chaos,-520364,-523390,-523590,-523190,3026,-3026,0 +5771,chaos,-520364,-517360,-517560,-517160,3004,3004,0 +5772,chaos,-520364,-515890,-516090,-515690,4474,4474,0 +5773,chaos,-520364,-522440,-522640,-522240,2076,-2076,0 +5774,chaos,-520364,-524360,-524560,-524160,3996,-3996,0 +5775,chaos,-520364,-515840,-516040,-515640,4524,4524,0 +5776,chaos,-520364,-517090,-517290,-516890,3274,3274,0 +5777,chaos,-520364,-521350,-521550,-521150,986,-986,0 +5778,chaos,-520364,-518050,-518250,-517850,2314,2314,0 +5779,chaos,-520364,-519350,-519550,-519150,1014,1014,0 +5780,chaos,-520364,-516710,-516910,-516510,3654,3654,0 +5781,chaos,-520364,-521510,-521710,-521310,1146,-1146,0 +5782,chaos,-520364,-523870,-524070,-523670,3506,-3506,0 +5783,chaos,-520364,-520520,-520720,-520320,156,-156,0.6 +5784,chaos,-520364,-518610,-518810,-518410,1754,1754,0 +5785,chaos,-520364,-518320,-518520,-518120,2044,2044,0 +5786,chaos,-520364,-522200,-522400,-522000,1836,-1836,0 +5787,chaos,-520364,-523080,-523280,-522880,2716,-2716,0 +5788,chaos,-520364,-519520,-519720,-519320,844,844,0 +5789,chaos,-520364,-515490,-515690,-515290,4874,4874,0 +5790,chaos,-520364,-524720,-524920,-524520,4356,-4356,0 +5791,chaos,-520364,-521570,-521770,-521370,1206,-1206,0 +5792,chaos,-520364,-520980,-521180,-520780,616,-616,0 +5793,chaos,-520364,-522860,-523060,-522660,2496,-2496,0 +5794,chaos,-520364,-517280,-517480,-517080,3084,3084,0 +5795,chaos,-520364,-523270,-523470,-523070,2906,-2906,0 +5796,chaos,-520364,-517160,-517360,-516960,3204,3204,0 +5797,chaos,-520364,-517050,-517250,-516850,3314,3314,0 +5798,chaos,-520364,-522980,-523180,-522780,2616,-2616,0 +5799,chaos,-520364,-523810,-524010,-523610,3446,-3446,0 +5800,chaos,-520364,-524590,-524790,-524390,4226,-4226,0 +5801,chaos,-520364,-519860,-520060,-519660,504,504,0 +5802,chaos,-520364,-525190,-525390,-524990,4826,-4826,0 +5803,chaos,-520364,-517680,-517880,-517480,2684,2684,0 +5804,chaos,-520364,-519610,-519810,-519410,754,754,0 +5805,chaos,-520364,-519070,-519270,-518870,1294,1294,0 +5806,chaos,-520364,-524460,-524660,-524260,4096,-4096,0 +5807,chaos,-520364,-521090,-521290,-520890,726,-726,0 +5808,chaos,-520364,-519240,-519440,-519040,1124,1124,0 +5809,chaos,-520364,-515880,-516080,-515680,4484,4484,0 +5810,chaos,-520364,-520870,-521070,-520670,506,-506,0 +5811,chaos,-520364,-516520,-516720,-516320,3844,3844,0 +5812,chaos,-520364,-519930,-520130,-519730,434,434,0 +5813,chaos,-520364,-521080,-521280,-520880,716,-716,0 +5814,chaos,-520364,-523720,-523920,-523520,3356,-3356,0 +5815,chaos,-520364,-518370,-518570,-518170,1994,1994,0 +5816,chaos,-520364,-516970,-517170,-516770,3394,3394,0 +5817,chaos,-520364,-517590,-517790,-517390,2774,2774,0 +5818,chaos,-520364,-515380,-515580,-515180,4984,4984,0 +5819,chaos,-520364,-522800,-523000,-522600,2436,-2436,0 +5820,chaos,-520364,-518410,-518610,-518210,1954,1954,0 +5821,chaos,-520364,-523790,-523990,-523590,3426,-3426,0 +5822,chaos,-520364,-517180,-517380,-516980,3184,3184,0 +5823,chaos,-520364,-518030,-518230,-517830,2334,2334,0 +5824,chaos,-520364,-517190,-517390,-516990,3174,3174,0 +5825,chaos,-520364,-520330,-520530,-520130,34,34,0.925 +5826,chaos,-520364,-520110,-520310,-519910,254,254,0.375 +5827,chaos,-520364,-522500,-522700,-522300,2136,-2136,0 +5828,chaos,-520364,-524090,-524290,-523890,3726,-3726,0 +5829,chaos,-520364,-521950,-522150,-521750,1586,-1586,0 +5830,chaos,-520364,-524450,-524650,-524250,4086,-4086,0 +5831,chaos,-520364,-521540,-521740,-521340,1176,-1176,0 +5832,chaos,-520364,-517620,-517820,-517420,2744,2744,0 +5833,chaos,-520364,-519890,-520090,-519690,474,474,0 +5834,chaos,-520364,-517950,-518150,-517750,2414,2414,0 +5835,chaos,-520364,-524300,-524500,-524100,3936,-3936,0 +5836,chaos,-520364,-522910,-523110,-522710,2546,-2546,0 +5837,chaos,-520364,-524870,-525070,-524670,4506,-4506,0 +5838,chaos,-520364,-515560,-515760,-515360,4804,4804,0 +5839,chaos,-520364,-520910,-521110,-520710,546,-546,0 +5840,chaos,-520364,-522560,-522760,-522360,2196,-2196,0 +5841,chaos,-520364,-520900,-521100,-520700,536,-536,0 +5842,chaos,-520364,-521780,-521980,-521580,1416,-1416,0 +5843,chaos,-520364,-520230,-520430,-520030,134,134,0.675 +5844,chaos,-520364,-522900,-523100,-522700,2536,-2536,0 +5845,chaos,-520364,-519780,-519980,-519580,584,584,0 +5846,chaos,-520364,-524000,-524200,-523800,3636,-3636,0 +5847,chaos,-520364,-525080,-525280,-524880,4716,-4716,0 +5848,chaos,-520364,-517650,-517850,-517450,2714,2714,0 +5849,chaos,-520364,-517830,-518030,-517630,2534,2534,0 +5850,chaos,-520364,-518790,-518990,-518590,1574,1574,0 +5851,chaos,-520364,-517850,-518050,-517650,2514,2514,0 +5852,chaos,-520364,-519130,-519330,-518930,1234,1234,0 +5853,chaos,-520364,-517230,-517430,-517030,3134,3134,0 +5854,chaos,-520364,-521300,-521500,-521100,936,-936,0 +5855,chaos,-520364,-516690,-516890,-516490,3674,3674,0 +5856,chaos,-520364,-517360,-517560,-517160,3004,3004,0 +5857,chaos,-520364,-517760,-517960,-517560,2604,2604,0 +5858,chaos,-520364,-523740,-523940,-523540,3376,-3376,0 +5859,chaos,-520364,-516460,-516660,-516260,3904,3904,0 +5860,chaos,-520364,-521930,-522130,-521730,1566,-1566,0 +5861,chaos,-520364,-516880,-517080,-516680,3484,3484,0 +5862,chaos,-520364,-522760,-522960,-522560,2396,-2396,0 +5863,chaos,-520364,-518480,-518680,-518280,1884,1884,0 +5864,chaos,-520364,-522460,-522660,-522260,2096,-2096,0 +5865,chaos,-520364,-524260,-524460,-524060,3896,-3896,0 +5866,chaos,-520364,-522930,-523130,-522730,2566,-2566,0 +5867,chaos,-520364,-523440,-523640,-523240,3076,-3076,0 +5868,chaos,-520364,-520550,-520750,-520350,186,-186,0.525 +5869,chaos,-520364,-524040,-524240,-523840,3676,-3676,0 +5870,chaos,-520364,-524140,-524340,-523940,3776,-3776,0 +5871,chaos,-520364,-523960,-524160,-523760,3596,-3596,0 +5872,chaos,-520364,-523560,-523760,-523360,3196,-3196,0 +5873,chaos,-520364,-523520,-523720,-523320,3156,-3156,0 +5874,chaos,-520364,-519080,-519280,-518880,1284,1284,0 +5875,chaos,-520364,-515520,-515720,-515320,4844,4844,0 +5876,chaos,-520364,-523690,-523890,-523490,3326,-3326,0 +5877,chaos,-520364,-517730,-517930,-517530,2634,2634,0 +5878,chaos,-520364,-516080,-516280,-515880,4284,4284,0 +5879,chaos,-520364,-524950,-525150,-524750,4586,-4586,0 +5880,chaos,-520364,-523440,-523640,-523240,3076,-3076,0 +5881,chaos,-520364,-516810,-517010,-516610,3554,3554,0 +5882,chaos,-520364,-518640,-518840,-518440,1724,1724,0 +5883,chaos,-520364,-521090,-521290,-520890,726,-726,0 +5884,chaos,-520364,-523180,-523380,-522980,2816,-2816,0 +5885,chaos,-520364,-522870,-523070,-522670,2506,-2506,0 +5886,chaos,-520364,-517820,-518020,-517620,2544,2544,0 +5887,chaos,-520364,-519610,-519810,-519410,754,754,0 +5888,chaos,-520364,-521170,-521370,-520970,806,-806,0 +5889,chaos,-520364,-522650,-522850,-522450,2286,-2286,0 +5890,chaos,-520364,-523940,-524140,-523740,3576,-3576,0 +5891,chaos,-520364,-521080,-521280,-520880,716,-716,0 +5892,chaos,-520364,-518910,-519110,-518710,1454,1454,0 +5893,chaos,-520364,-521890,-522090,-521690,1526,-1526,0 +5894,chaos,-520364,-517250,-517450,-517050,3114,3114,0 +5895,chaos,-520364,-520280,-520480,-520080,84,84,0.8 +5896,chaos,-520364,-522460,-522660,-522260,2096,-2096,0 +5897,chaos,-520364,-518480,-518680,-518280,1884,1884,0 +5898,chaos,-520364,-522880,-523080,-522680,2516,-2516,0 +5899,chaos,-520364,-517160,-517360,-516960,3204,3204,0 +5900,chaos,-520364,-523710,-523910,-523510,3346,-3346,0 +5901,chaos,-520364,-522190,-522390,-521990,1826,-1826,0 +5902,chaos,-520364,-519800,-520000,-519600,564,564,0 +5903,chaos,-520364,-522750,-522950,-522550,2386,-2386,0 +5904,chaos,-520364,-517680,-517880,-517480,2684,2684,0 +5905,chaos,-520364,-516290,-516490,-516090,4074,4074,0 +5906,chaos,-520364,-516700,-516900,-516500,3664,3664,0 +5907,chaos,-520364,-516820,-517020,-516620,3544,3544,0 +5908,chaos,-520364,-521680,-521880,-521480,1316,-1316,0 +5909,chaos,-520364,-517960,-518160,-517760,2404,2404,0 +5910,chaos,-520364,-516140,-516340,-515940,4224,4224,0 +5911,chaos,-520364,-515560,-515760,-515360,4804,4804,0 +5912,chaos,-520364,-517800,-518000,-517600,2564,2564,0 +5913,chaos,-520364,-522500,-522700,-522300,2136,-2136,0 +5914,chaos,-520364,-521890,-522090,-521690,1526,-1526,0 +5915,chaos,-520364,-523750,-523950,-523550,3386,-3386,0 +5916,chaos,-520364,-515490,-515690,-515290,4874,4874,0 +5917,chaos,-520364,-520730,-520930,-520530,366,-366,0.075 +5918,chaos,-520364,-517680,-517880,-517480,2684,2684,0 +5919,chaos,-520364,-520100,-520300,-519900,264,264,0.35 +5920,chaos,-520364,-517980,-518180,-517780,2384,2384,0 +5921,chaos,-520364,-521690,-521890,-521490,1326,-1326,0 +5922,chaos,-520364,-517250,-517450,-517050,3114,3114,0 +5923,chaos,-520364,-519350,-519550,-519150,1014,1014,0 +5924,chaos,-520364,-522750,-522950,-522550,2386,-2386,0 +5925,chaos,-520364,-515670,-515870,-515470,4694,4694,0 +5926,chaos,-520364,-524100,-524300,-523900,3736,-3736,0 +5927,chaos,-520364,-521140,-521340,-520940,776,-776,0 +5928,chaos,-520364,-522760,-522960,-522560,2396,-2396,0 +5929,chaos,-520364,-518550,-518750,-518350,1814,1814,0 +5930,chaos,-520364,-521950,-522150,-521750,1586,-1586,0 +5931,chaos,-520364,-515910,-516110,-515710,4454,4454,0 +5932,chaos,-520364,-520640,-520840,-520440,276,-276,0.3 +5933,chaos,-520364,-525350,-525550,-525150,4986,-4986,0 +5934,chaos,-520364,-515620,-515820,-515420,4744,4744,0 +5935,chaos,-520364,-518160,-518360,-517960,2204,2204,0 +5936,chaos,-520364,-523390,-523590,-523190,3026,-3026,0 +5937,chaos,-520364,-515960,-516160,-515760,4404,4404,0 +5938,chaos,-520364,-517280,-517480,-517080,3084,3084,0 +5939,chaos,-520364,-524230,-524430,-524030,3866,-3866,0 +5940,chaos,-520364,-516030,-516230,-515830,4334,4334,0 +5941,chaos,-520364,-517920,-518120,-517720,2444,2444,0 +5942,chaos,-520364,-522160,-522360,-521960,1796,-1796,0 +5943,chaos,-520364,-524290,-524490,-524090,3926,-3926,0 +5944,chaos,-520364,-520290,-520490,-520090,74,74,0.825 +5945,chaos,-520364,-519180,-519380,-518980,1184,1184,0 +5946,chaos,-520364,-522420,-522620,-522220,2056,-2056,0 +5947,chaos,-520364,-524640,-524840,-524440,4276,-4276,0 +5948,chaos,-520364,-521320,-521520,-521120,956,-956,0 +5949,chaos,-520364,-521030,-521230,-520830,666,-666,0 +5950,chaos,-520364,-523580,-523780,-523380,3216,-3216,0 +5951,chaos,-520364,-515690,-515890,-515490,4674,4674,0 +5952,chaos,-520364,-517250,-517450,-517050,3114,3114,0 +5953,chaos,-520364,-521540,-521740,-521340,1176,-1176,0 +5954,chaos,-520364,-522890,-523090,-522690,2526,-2526,0 +5955,chaos,-520364,-523910,-524110,-523710,3546,-3546,0 +5956,chaos,-520364,-520510,-520710,-520310,146,-146,0.625 +5957,chaos,-520364,-518410,-518610,-518210,1954,1954,0 +5958,chaos,-520364,-517640,-517840,-517440,2724,2724,0 +5959,chaos,-520364,-517130,-517330,-516930,3234,3234,0 +5960,chaos,-520364,-524360,-524560,-524160,3996,-3996,0 +5961,chaos,-520364,-518450,-518650,-518250,1914,1914,0 +5962,chaos,-520364,-524300,-524500,-524100,3936,-3936,0 +5963,chaos,-520364,-521640,-521840,-521440,1276,-1276,0 +5964,chaos,-520364,-515600,-515800,-515400,4764,4764,0 +5965,chaos,-520364,-515660,-515860,-515460,4704,4704,0 +5966,chaos,-520364,-518870,-519070,-518670,1494,1494,0 +5967,chaos,-520364,-519740,-519940,-519540,624,624,0 +5968,chaos,-520364,-523490,-523690,-523290,3126,-3126,0 +5969,chaos,-520364,-519170,-519370,-518970,1194,1194,0 +5970,chaos,-520364,-517520,-517720,-517320,2844,2844,0 +5971,chaos,-520364,-523010,-523210,-522810,2646,-2646,0 +5972,chaos,-520364,-523500,-523700,-523300,3136,-3136,0 +5973,chaos,-520364,-518020,-518220,-517820,2344,2344,0 +5974,chaos,-520364,-521020,-521220,-520820,656,-656,0 +5975,chaos,-520364,-524450,-524650,-524250,4086,-4086,0 +5976,chaos,-520364,-520720,-520920,-520520,356,-356,0.1 +5977,chaos,-520364,-517290,-517490,-517090,3074,3074,0 +5978,chaos,-520364,-522090,-522290,-521890,1726,-1726,0 +5979,chaos,-520364,-521650,-521850,-521450,1286,-1286,0 +5980,chaos,-520364,-524070,-524270,-523870,3706,-3706,0 +5981,chaos,-520364,-518880,-519080,-518680,1484,1484,0 +5982,chaos,-520364,-517300,-517500,-517100,3064,3064,0 +5983,chaos,-520364,-522870,-523070,-522670,2506,-2506,0 +5984,chaos,-520364,-525100,-525300,-524900,4736,-4736,0 +5985,chaos,-520364,-516670,-516870,-516470,3694,3694,0 +5986,chaos,-520364,-520920,-521120,-520720,556,-556,0 +5987,chaos,-520364,-515730,-515930,-515530,4634,4634,0 +5988,chaos,-520364,-517020,-517220,-516820,3344,3344,0 +5989,chaos,-520364,-519180,-519380,-518980,1184,1184,0 +5990,chaos,-520364,-524250,-524450,-524050,3886,-3886,0 +5991,chaos,-520364,-522120,-522320,-521920,1756,-1756,0 +5992,chaos,-520364,-518160,-518360,-517960,2204,2204,0 +5993,chaos,-520364,-525300,-525500,-525100,4936,-4936,0 +5994,chaos,-520364,-517230,-517430,-517030,3134,3134,0 +5995,chaos,-520364,-523710,-523910,-523510,3346,-3346,0 +5996,chaos,-520364,-519920,-520120,-519720,444,444,0 +5997,chaos,-520364,-521970,-522170,-521770,1606,-1606,0 +5998,chaos,-520364,-525010,-525210,-524810,4646,-4646,0 +5999,chaos,-520364,-523640,-523840,-523440,3276,-3276,0 +6000,chaos,-520364,-520970,-521170,-520770,606,-606,0 +6001,chaos,-520364,-524690,-524890,-524490,4326,-4326,0 +6002,chaos,-520364,-522130,-522330,-521930,1766,-1766,0 +6003,chaos,-520364,-522470,-522670,-522270,2106,-2106,0 +6004,chaos,-520364,-521410,-521610,-521210,1046,-1046,0 +6005,chaos,-520364,-524140,-524340,-523940,3776,-3776,0 +6006,chaos,-520364,-518650,-518850,-518450,1714,1714,0 +6007,chaos,-520364,-521680,-521880,-521480,1316,-1316,0 +6008,chaos,-520364,-523170,-523370,-522970,2806,-2806,0 +6009,chaos,-520364,-517330,-517530,-517130,3034,3034,0 +6010,chaos,-520364,-518850,-519050,-518650,1514,1514,0 +6011,chaos,-520364,-521180,-521380,-520980,816,-816,0 +6012,chaos,-520364,-518530,-518730,-518330,1834,1834,0 +6013,chaos,-520364,-520590,-520790,-520390,226,-226,0.425 +6014,chaos,-520364,-525340,-525540,-525140,4976,-4976,0 +6015,chaos,-520364,-520670,-520870,-520470,306,-306,0.225 +6016,chaos,-520364,-516810,-517010,-516610,3554,3554,0 +6017,chaos,-520364,-519690,-519890,-519490,674,674,0 +6018,chaos,-520364,-524120,-524320,-523920,3756,-3756,0 +6019,chaos,-520364,-523750,-523950,-523550,3386,-3386,0 +6020,chaos,-520364,-521770,-521970,-521570,1406,-1406,0 +6021,chaos,-520364,-521550,-521750,-521350,1186,-1186,0 +6022,chaos,-520364,-516180,-516380,-515980,4184,4184,0 +6023,chaos,-520364,-522520,-522720,-522320,2156,-2156,0 +6024,chaos,-520364,-518980,-519180,-518780,1384,1384,0 +6025,chaos,-520364,-520020,-520220,-519820,344,344,0.15 +6026,chaos,-520364,-516430,-516630,-516230,3934,3934,0 +6027,chaos,-520364,-524400,-524600,-524200,4036,-4036,0 +6028,chaos,-520364,-522410,-522610,-522210,2046,-2046,0 +6029,chaos,-520364,-517400,-517600,-517200,2964,2964,0 +6030,chaos,-520364,-516400,-516600,-516200,3964,3964,0 +6031,chaos,-520364,-522010,-522210,-521810,1646,-1646,0 +6032,chaos,-520364,-518080,-518280,-517880,2284,2284,0 +6033,chaos,-520364,-521630,-521830,-521430,1266,-1266,0 +6034,chaos,-520364,-517830,-518030,-517630,2534,2534,0 +6035,chaos,-520364,-520560,-520760,-520360,196,-196,0.5 +6036,chaos,-520364,-516370,-516570,-516170,3994,3994,0 +6037,chaos,-520364,-525300,-525500,-525100,4936,-4936,0 +6038,chaos,-520364,-517700,-517900,-517500,2664,2664,0 +6039,chaos,-520364,-523570,-523770,-523370,3206,-3206,0 +6040,chaos,-520364,-516100,-516300,-515900,4264,4264,0 +6041,chaos,-520364,-517050,-517250,-516850,3314,3314,0 +6042,chaos,-520364,-519050,-519250,-518850,1314,1314,0 +6043,chaos,-520364,-518520,-518720,-518320,1844,1844,0 +6044,chaos,-520364,-524050,-524250,-523850,3686,-3686,0 +6045,chaos,-520364,-517440,-517640,-517240,2924,2924,0 +6046,chaos,-520364,-516440,-516640,-516240,3924,3924,0 +6047,chaos,-520364,-518780,-518980,-518580,1584,1584,0 +6048,chaos,-520364,-521490,-521690,-521290,1126,-1126,0 +6049,chaos,-520364,-522040,-522240,-521840,1676,-1676,0 +6050,chaos,-520364,-524910,-525110,-524710,4546,-4546,0 +6051,chaos,-520364,-518990,-519190,-518790,1374,1374,0 +6052,chaos,-520364,-523240,-523440,-523040,2876,-2876,0 +6053,chaos,-520364,-520880,-521080,-520680,516,-516,0 +6054,chaos,-520364,-516700,-516900,-516500,3664,3664,0 +6055,chaos,-520364,-521810,-522010,-521610,1446,-1446,0 +6056,chaos,-520364,-517810,-518010,-517610,2554,2554,0 +6057,chaos,-520364,-516600,-516800,-516400,3764,3764,0 +6058,chaos,-520364,-519730,-519930,-519530,634,634,0 +6059,chaos,-520364,-524580,-524780,-524380,4216,-4216,0 +6060,chaos,-520364,-525310,-525510,-525110,4946,-4946,0 +6061,chaos,-520364,-515610,-515810,-515410,4754,4754,0 +6062,chaos,-520364,-520200,-520400,-520000,164,164,0.6 +6063,chaos,-520364,-523130,-523330,-522930,2766,-2766,0 +6064,chaos,-520364,-524950,-525150,-524750,4586,-4586,0 +6065,chaos,-520364,-524700,-524900,-524500,4336,-4336,0 +6066,chaos,-520364,-515810,-516010,-515610,4554,4554,0 +6067,chaos,-520364,-517910,-518110,-517710,2454,2454,0 +6068,chaos,-520364,-524470,-524670,-524270,4106,-4106,0 +6069,chaos,-520364,-522190,-522390,-521990,1826,-1826,0 +6070,chaos,-520364,-520920,-521120,-520720,556,-556,0 +6071,chaos,-520364,-516180,-516380,-515980,4184,4184,0 +6072,chaos,-520364,-516920,-517120,-516720,3444,3444,0 +6073,chaos,-520364,-516800,-517000,-516600,3564,3564,0 +6074,chaos,-520364,-519900,-520100,-519700,464,464,0 +6075,chaos,-520364,-520620,-520820,-520420,256,-256,0.35 +6076,chaos,-520364,-524380,-524580,-524180,4016,-4016,0 +6077,chaos,-520364,-525190,-525390,-524990,4826,-4826,0 +6078,chaos,-520364,-517720,-517920,-517520,2644,2644,0 +6079,chaos,-520364,-518750,-518950,-518550,1614,1614,0 +6080,chaos,-520364,-516650,-516850,-516450,3714,3714,0 +6081,chaos,-520364,-517010,-517210,-516810,3354,3354,0 +6082,chaos,-520364,-519210,-519410,-519010,1154,1154,0 +6083,chaos,-520364,-518440,-518640,-518240,1924,1924,0 +6084,chaos,-520364,-518850,-519050,-518650,1514,1514,0 +6085,chaos,-520364,-518440,-518640,-518240,1924,1924,0 +6086,chaos,-520364,-518690,-518890,-518490,1674,1674,0 +6087,chaos,-520364,-517460,-517660,-517260,2904,2904,0 +6088,chaos,-520364,-524420,-524620,-524220,4056,-4056,0 +6089,chaos,-520364,-519600,-519800,-519400,764,764,0 +6090,chaos,-520364,-521690,-521890,-521490,1326,-1326,0 +6091,chaos,-520364,-518130,-518330,-517930,2234,2234,0 +6092,chaos,-520364,-517970,-518170,-517770,2394,2394,0 +6093,chaos,-520364,-515900,-516100,-515700,4464,4464,0 +6094,chaos,-520364,-525290,-525490,-525090,4926,-4926,0 +6095,chaos,-520364,-517440,-517640,-517240,2924,2924,0 +6096,chaos,-520364,-523520,-523720,-523320,3156,-3156,0 +6097,chaos,-520364,-524580,-524780,-524380,4216,-4216,0 +6098,chaos,-520364,-523460,-523660,-523260,3096,-3096,0 +6099,chaos,-520364,-524150,-524350,-523950,3786,-3786,0 +6100,chaos,-520364,-518320,-518520,-518120,2044,2044,0 +6101,chaos,-520364,-515870,-516070,-515670,4494,4494,0 +6102,chaos,-520364,-517780,-517980,-517580,2584,2584,0 +6103,chaos,-520364,-518300,-518500,-518100,2064,2064,0 +6104,chaos,-520364,-518590,-518790,-518390,1774,1774,0 +6105,chaos,-520364,-517890,-518090,-517690,2474,2474,0 +6106,chaos,-520364,-517840,-518040,-517640,2524,2524,0 +6107,chaos,-520364,-522180,-522380,-521980,1816,-1816,0 +6108,chaos,-520364,-517350,-517550,-517150,3014,3014,0 +6109,chaos,-520364,-520420,-520620,-520220,56,-56,0.85 +6110,chaos,-520364,-517350,-517550,-517150,3014,3014,0 +6111,chaos,-520364,-521350,-521550,-521150,986,-986,0 +6112,chaos,-520364,-515770,-515970,-515570,4594,4594,0 +6113,chaos,-520364,-523930,-524130,-523730,3566,-3566,0 +6114,chaos,-520364,-519660,-519860,-519460,704,704,0 +6115,chaos,-520364,-517070,-517270,-516870,3294,3294,0 +6116,chaos,-520364,-515940,-516140,-515740,4424,4424,0 +6117,chaos,-520364,-517260,-517460,-517060,3104,3104,0 +6118,chaos,-520364,-519030,-519230,-518830,1334,1334,0 +6119,chaos,-520364,-521190,-521390,-520990,826,-826,0 +6120,chaos,-520364,-517810,-518010,-517610,2554,2554,0 +6121,chaos,-520364,-518470,-518670,-518270,1894,1894,0 +6122,chaos,-520364,-523000,-523200,-522800,2636,-2636,0 +6123,chaos,-520364,-522280,-522480,-522080,1916,-1916,0 +6124,chaos,-520364,-522160,-522360,-521960,1796,-1796,0 +6125,chaos,-520364,-524020,-524220,-523820,3656,-3656,0 +6126,chaos,-520364,-516880,-517080,-516680,3484,3484,0 +6127,chaos,-520364,-523010,-523210,-522810,2646,-2646,0 +6128,chaos,-520364,-521030,-521230,-520830,666,-666,0 +6129,chaos,-520364,-524280,-524480,-524080,3916,-3916,0 +6130,chaos,-520364,-518770,-518970,-518570,1594,1594,0 +6131,chaos,-520364,-524530,-524730,-524330,4166,-4166,0 +6132,chaos,-520364,-517990,-518190,-517790,2374,2374,0 +6133,chaos,-520364,-521380,-521580,-521180,1016,-1016,0 +6134,chaos,-520364,-521180,-521380,-520980,816,-816,0 +6135,chaos,-520364,-518710,-518910,-518510,1654,1654,0 +6136,chaos,-520364,-520520,-520720,-520320,156,-156,0.6 +6137,chaos,-520364,-523510,-523710,-523310,3146,-3146,0 +6138,chaos,-520364,-517920,-518120,-517720,2444,2444,0 +6139,chaos,-520364,-520830,-521030,-520630,466,-466,0 +6140,chaos,-520364,-524430,-524630,-524230,4066,-4066,0 +6141,chaos,-520364,-524660,-524860,-524460,4296,-4296,0 +6142,chaos,-520364,-520530,-520730,-520330,166,-166,0.575 +6143,chaos,-520364,-521700,-521900,-521500,1336,-1336,0 +6144,chaos,-520364,-524240,-524440,-524040,3876,-3876,0 +6145,chaos,-520364,-519400,-519600,-519200,964,964,0 +6146,chaos,-520364,-523070,-523270,-522870,2706,-2706,0 +6147,chaos,-520364,-520180,-520380,-519980,184,184,0.55 +6148,chaos,-520364,-524020,-524220,-523820,3656,-3656,0 +6149,chaos,-520364,-518460,-518660,-518260,1904,1904,0 +6150,chaos,-520364,-523310,-523510,-523110,2946,-2946,0 +6151,chaos,-520364,-516990,-517190,-516790,3374,3374,0 +6152,chaos,-520364,-517130,-517330,-516930,3234,3234,0 +6153,chaos,-520364,-524600,-524800,-524400,4236,-4236,0 +6154,chaos,-520364,-522630,-522830,-522430,2266,-2266,0 +6155,chaos,-520364,-522690,-522890,-522490,2326,-2326,0 +6156,chaos,-520364,-519480,-519680,-519280,884,884,0 +6157,chaos,-520364,-523240,-523440,-523040,2876,-2876,0 +6158,chaos,-520364,-516140,-516340,-515940,4224,4224,0 +6159,chaos,-520364,-521690,-521890,-521490,1326,-1326,0 +6160,chaos,-520364,-516710,-516910,-516510,3654,3654,0 +6161,chaos,-520364,-524640,-524840,-524440,4276,-4276,0 +6162,chaos,-520364,-522600,-522800,-522400,2236,-2236,0 +6163,chaos,-520364,-525150,-525350,-524950,4786,-4786,0 +6164,chaos,-520364,-520760,-520960,-520560,396,-396,0 +6165,chaos,-520364,-522790,-522990,-522590,2426,-2426,0 +6166,chaos,-520364,-516410,-516610,-516210,3954,3954,0 +6167,chaos,-520364,-518240,-518440,-518040,2124,2124,0 +6168,chaos,-520364,-516060,-516260,-515860,4304,4304,0 +6169,chaos,-520364,-518780,-518980,-518580,1584,1584,0 +6170,chaos,-520364,-517080,-517280,-516880,3284,3284,0 +6171,chaos,-520364,-524430,-524630,-524230,4066,-4066,0 +6172,chaos,-520364,-517640,-517840,-517440,2724,2724,0 +6173,chaos,-520364,-523090,-523290,-522890,2726,-2726,0 +6174,chaos,-520364,-519500,-519700,-519300,864,864,0 +6175,chaos,-520364,-520940,-521140,-520740,576,-576,0 +6176,chaos,-520364,-515590,-515790,-515390,4774,4774,0 +6177,chaos,-520364,-523000,-523200,-522800,2636,-2636,0 +6178,chaos,-520364,-518800,-519000,-518600,1564,1564,0 +6179,chaos,-520364,-523670,-523870,-523470,3306,-3306,0 +6180,chaos,-520364,-524920,-525120,-524720,4556,-4556,0 +6181,chaos,-520364,-519390,-519590,-519190,974,974,0 +6182,chaos,-520364,-516520,-516720,-516320,3844,3844,0 +6183,chaos,-520364,-516510,-516710,-516310,3854,3854,0 +6184,chaos,-520364,-518030,-518230,-517830,2334,2334,0 +6185,chaos,-520364,-525020,-525220,-524820,4656,-4656,0 +6186,chaos,-520364,-524290,-524490,-524090,3926,-3926,0 +6187,chaos,-520364,-518360,-518560,-518160,2004,2004,0 +6188,chaos,-520364,-515470,-515670,-515270,4894,4894,0 +6189,chaos,-520364,-523980,-524180,-523780,3616,-3616,0 +6190,chaos,-520364,-517140,-517340,-516940,3224,3224,0 +6191,chaos,-520364,-517750,-517950,-517550,2614,2614,0 +6192,chaos,-520364,-522290,-522490,-522090,1926,-1926,0 +6193,chaos,-520364,-519220,-519420,-519020,1144,1144,0 +6194,chaos,-520364,-520620,-520820,-520420,256,-256,0.35 +6195,chaos,-520364,-522050,-522250,-521850,1686,-1686,0 +6196,chaos,-520364,-521480,-521680,-521280,1116,-1116,0 +6197,chaos,-520364,-517810,-518010,-517610,2554,2554,0 +6198,chaos,-520364,-520610,-520810,-520410,246,-246,0.375 +6199,chaos,-520364,-519420,-519620,-519220,944,944,0 +6200,chaos,-520364,-515820,-516020,-515620,4544,4544,0 +6201,chaos,-520364,-515430,-515630,-515230,4934,4934,0 +6202,chaos,-520364,-525170,-525370,-524970,4806,-4806,0 +6203,chaos,-520364,-524780,-524980,-524580,4416,-4416,0 +6204,chaos,-520364,-524450,-524650,-524250,4086,-4086,0 +6205,chaos,-520364,-522500,-522700,-522300,2136,-2136,0 +6206,chaos,-520364,-516590,-516790,-516390,3774,3774,0 +6207,chaos,-520364,-523010,-523210,-522810,2646,-2646,0 +6208,chaos,-520364,-517790,-517990,-517590,2574,2574,0 +6209,chaos,-520364,-520080,-520280,-519880,284,284,0.3 +6210,chaos,-520364,-524020,-524220,-523820,3656,-3656,0 +6211,chaos,-520364,-518910,-519110,-518710,1454,1454,0 +6212,chaos,-520364,-520260,-520460,-520060,104,104,0.75 +6213,chaos,-520364,-518530,-518730,-518330,1834,1834,0 +6214,chaos,-520364,-520580,-520780,-520380,216,-216,0.45 +6215,chaos,-520364,-518500,-518700,-518300,1864,1864,0 +6216,chaos,-520364,-520360,-520560,-520160,4,4,1 +6217,chaos,-520364,-521010,-521210,-520810,646,-646,0 +6218,chaos,-520364,-517010,-517210,-516810,3354,3354,0 +6219,chaos,-520364,-515700,-515900,-515500,4664,4664,0 +6220,chaos,-520364,-524370,-524570,-524170,4006,-4006,0 +6221,chaos,-520364,-524210,-524410,-524010,3846,-3846,0 +6222,chaos,-520364,-516850,-517050,-516650,3514,3514,0 +6223,chaos,-520364,-520610,-520810,-520410,246,-246,0.375 +6224,chaos,-520364,-523840,-524040,-523640,3476,-3476,0 +6225,chaos,-520364,-525010,-525210,-524810,4646,-4646,0 +6226,chaos,-520364,-523430,-523630,-523230,3066,-3066,0 +6227,chaos,-520364,-517860,-518060,-517660,2504,2504,0 +6228,chaos,-520364,-521710,-521910,-521510,1346,-1346,0 +6229,chaos,-520364,-515950,-516150,-515750,4414,4414,0 +6230,chaos,-520364,-522860,-523060,-522660,2496,-2496,0 +6231,chaos,-520364,-521900,-522100,-521700,1536,-1536,0 +6232,chaos,-520364,-525160,-525360,-524960,4796,-4796,0 +6233,chaos,-520364,-521430,-521630,-521230,1066,-1066,0 +6234,chaos,-520364,-516610,-516810,-516410,3754,3754,0 +6235,chaos,-520364,-517090,-517290,-516890,3274,3274,0 +6236,chaos,-520364,-524290,-524490,-524090,3926,-3926,0 +6237,chaos,-520364,-524820,-525020,-524620,4456,-4456,0 +6238,chaos,-520364,-525180,-525380,-524980,4816,-4816,0 +6239,chaos,-520364,-523150,-523350,-522950,2786,-2786,0 +6240,chaos,-520364,-518650,-518850,-518450,1714,1714,0 +6241,chaos,-520364,-521440,-521640,-521240,1076,-1076,0 +6242,chaos,-520364,-524250,-524450,-524050,3886,-3886,0 +6243,chaos,-520364,-522380,-522580,-522180,2016,-2016,0 +6244,chaos,-520364,-523650,-523850,-523450,3286,-3286,0 +6245,chaos,-520364,-522240,-522440,-522040,1876,-1876,0 +6246,chaos,-520364,-520750,-520950,-520550,386,-386,0.025 +6247,chaos,-520364,-520780,-520980,-520580,416,-416,0 +6248,chaos,-520364,-519450,-519650,-519250,914,914,0 +6249,chaos,-520364,-518500,-518700,-518300,1864,1864,0 +6250,chaos,-520364,-520830,-521030,-520630,466,-466,0 +6251,chaos,-520364,-518910,-519110,-518710,1454,1454,0 +6252,chaos,-520364,-524810,-525010,-524610,4446,-4446,0 +6253,chaos,-520364,-518530,-518730,-518330,1834,1834,0 +6254,chaos,-520364,-523200,-523400,-523000,2836,-2836,0 +6255,chaos,-520364,-520710,-520910,-520510,346,-346,0.125 +6256,chaos,-520364,-520220,-520420,-520020,144,144,0.65 +6257,chaos,-520364,-521590,-521790,-521390,1226,-1226,0 +6258,chaos,-520364,-522670,-522870,-522470,2306,-2306,0 +6259,chaos,-520364,-524290,-524490,-524090,3926,-3926,0 +6260,chaos,-520364,-517130,-517330,-516930,3234,3234,0 +6261,chaos,-520364,-523700,-523900,-523500,3336,-3336,0 +6262,chaos,-520364,-518330,-518530,-518130,2034,2034,0 +6263,chaos,-520364,-520770,-520970,-520570,406,-406,0 +6264,chaos,-520364,-518850,-519050,-518650,1514,1514,0 +6265,chaos,-520364,-518040,-518240,-517840,2324,2324,0 +6266,chaos,-520364,-524830,-525030,-524630,4466,-4466,0 +6267,chaos,-520364,-518510,-518710,-518310,1854,1854,0 +6268,chaos,-520364,-521760,-521960,-521560,1396,-1396,0 +6269,chaos,-520364,-524590,-524790,-524390,4226,-4226,0 +6270,chaos,-520364,-519710,-519910,-519510,654,654,0 +6271,chaos,-520364,-516510,-516710,-516310,3854,3854,0 +6272,chaos,-520364,-522190,-522390,-521990,1826,-1826,0 +6273,chaos,-520364,-524280,-524480,-524080,3916,-3916,0 +6274,chaos,-520364,-516030,-516230,-515830,4334,4334,0 +6275,chaos,-520364,-519140,-519340,-518940,1224,1224,0 +6276,chaos,-520364,-518230,-518430,-518030,2134,2134,0 +6277,chaos,-520364,-524010,-524210,-523810,3646,-3646,0 +6278,chaos,-520364,-517190,-517390,-516990,3174,3174,0 +6279,chaos,-520364,-519670,-519870,-519470,694,694,0 +6280,chaos,-520364,-522170,-522370,-521970,1806,-1806,0 +6281,chaos,-520364,-523100,-523300,-522900,2736,-2736,0 +6282,chaos,-520364,-522670,-522870,-522470,2306,-2306,0 +6283,chaos,-520364,-518550,-518750,-518350,1814,1814,0 +6284,chaos,-520364,-525160,-525360,-524960,4796,-4796,0 +6285,chaos,-520364,-521790,-521990,-521590,1426,-1426,0 +6286,chaos,-520364,-519650,-519850,-519450,714,714,0 +6287,chaos,-520364,-519270,-519470,-519070,1094,1094,0 +6288,chaos,-520364,-518430,-518630,-518230,1934,1934,0 +6289,chaos,-520364,-518060,-518260,-517860,2304,2304,0 +6290,chaos,-520364,-522210,-522410,-522010,1846,-1846,0 +6291,chaos,-520364,-524560,-524760,-524360,4196,-4196,0 +6292,chaos,-520364,-524870,-525070,-524670,4506,-4506,0 +6293,chaos,-520364,-515780,-515980,-515580,4584,4584,0 +6294,chaos,-520364,-516700,-516900,-516500,3664,3664,0 +6295,chaos,-520364,-518280,-518480,-518080,2084,2084,0 +6296,chaos,-520364,-522290,-522490,-522090,1926,-1926,0 +6297,chaos,-520364,-520980,-521180,-520780,616,-616,0 +6298,chaos,-520364,-519570,-519770,-519370,794,794,0 +6299,chaos,-520364,-523740,-523940,-523540,3376,-3376,0 +6300,chaos,-520364,-519380,-519580,-519180,984,984,0 +6301,chaos,-520364,-518440,-518640,-518240,1924,1924,0 +6302,chaos,-520364,-524600,-524800,-524400,4236,-4236,0 +6303,chaos,-520364,-519830,-520030,-519630,534,534,0 +6304,chaos,-520364,-525330,-525530,-525130,4966,-4966,0 +6305,chaos,-520364,-516230,-516430,-516030,4134,4134,0 +6306,chaos,-520364,-523830,-524030,-523630,3466,-3466,0 +6307,chaos,-520364,-522990,-523190,-522790,2626,-2626,0 +6308,chaos,-520364,-525350,-525550,-525150,4986,-4986,0 +6309,chaos,-520364,-518390,-518590,-518190,1974,1974,0 +6310,chaos,-520364,-524770,-524970,-524570,4406,-4406,0 +6311,chaos,-520364,-525240,-525440,-525040,4876,-4876,0 +6312,chaos,-520364,-516910,-517110,-516710,3454,3454,0 +6313,chaos,-520364,-518850,-519050,-518650,1514,1514,0 +6314,chaos,-520364,-521010,-521210,-520810,646,-646,0 +6315,chaos,-520364,-520360,-520560,-520160,4,4,1 +6316,chaos,-520364,-521520,-521720,-521320,1156,-1156,0 +6317,chaos,-520364,-517430,-517630,-517230,2934,2934,0 +6318,chaos,-520364,-516600,-516800,-516400,3764,3764,0 +6319,chaos,-520364,-522400,-522600,-522200,2036,-2036,0 +6320,chaos,-520364,-518160,-518360,-517960,2204,2204,0 +6321,chaos,-520364,-518720,-518920,-518520,1644,1644,0 +6322,chaos,-520364,-525080,-525280,-524880,4716,-4716,0 +6323,chaos,-520364,-517170,-517370,-516970,3194,3194,0 +6324,chaos,-520364,-519330,-519530,-519130,1034,1034,0 +6325,chaos,-520364,-524070,-524270,-523870,3706,-3706,0 +6326,chaos,-520364,-522920,-523120,-522720,2556,-2556,0 +6327,chaos,-520364,-518160,-518360,-517960,2204,2204,0 +6328,chaos,-520364,-519660,-519860,-519460,704,704,0 +6329,chaos,-520364,-518540,-518740,-518340,1824,1824,0 +6330,chaos,-520364,-521880,-522080,-521680,1516,-1516,0 +6331,chaos,-520364,-524630,-524830,-524430,4266,-4266,0 +6332,chaos,-520364,-520300,-520500,-520100,64,64,0.85 +6333,chaos,-520364,-522960,-523160,-522760,2596,-2596,0 +6334,chaos,-520364,-521560,-521760,-521360,1196,-1196,0 +6335,chaos,-520364,-517970,-518170,-517770,2394,2394,0 +6336,chaos,-520364,-523350,-523550,-523150,2986,-2986,0 +6337,chaos,-520364,-524740,-524940,-524540,4376,-4376,0 +6338,chaos,-520364,-516300,-516500,-516100,4064,4064,0 +6339,chaos,-520364,-521990,-522190,-521790,1626,-1626,0 +6340,chaos,-520364,-520760,-520960,-520560,396,-396,0 +6341,chaos,-520364,-521140,-521340,-520940,776,-776,0 +6342,chaos,-520364,-523870,-524070,-523670,3506,-3506,0 +6343,chaos,-520364,-518930,-519130,-518730,1434,1434,0 +6344,chaos,-520364,-521160,-521360,-520960,796,-796,0 +6345,chaos,-520364,-522350,-522550,-522150,1986,-1986,0 +6346,chaos,-520364,-523000,-523200,-522800,2636,-2636,0 +6347,chaos,-520364,-525350,-525550,-525150,4986,-4986,0 +6348,chaos,-520364,-522140,-522340,-521940,1776,-1776,0 +6349,chaos,-520364,-523700,-523900,-523500,3336,-3336,0 +6350,chaos,-520364,-524520,-524720,-524320,4156,-4156,0 +6351,chaos,-520364,-523080,-523280,-522880,2716,-2716,0 +6352,chaos,-520364,-521400,-521600,-521200,1036,-1036,0 +6353,chaos,-520364,-518490,-518690,-518290,1874,1874,0 +6354,chaos,-520364,-519910,-520110,-519710,454,454,0 +6355,chaos,-520364,-521090,-521290,-520890,726,-726,0 +6356,chaos,-520364,-524090,-524290,-523890,3726,-3726,0 +6357,chaos,-520364,-518670,-518870,-518470,1694,1694,0 +6358,chaos,-520364,-515420,-515620,-515220,4944,4944,0 +6359,chaos,-520364,-523280,-523480,-523080,2916,-2916,0 +6360,chaos,-520364,-519470,-519670,-519270,894,894,0 +6361,chaos,-520364,-515700,-515900,-515500,4664,4664,0 +6362,chaos,-520364,-524440,-524640,-524240,4076,-4076,0 +6363,chaos,-520364,-524740,-524940,-524540,4376,-4376,0 +6364,chaos,-520364,-521090,-521290,-520890,726,-726,0 +6365,chaos,-520364,-524840,-525040,-524640,4476,-4476,0 +6366,chaos,-520364,-524670,-524870,-524470,4306,-4306,0 +6367,chaos,-520364,-515610,-515810,-515410,4754,4754,0 +6368,chaos,-520364,-518420,-518620,-518220,1944,1944,0 +6369,chaos,-520364,-516660,-516860,-516460,3704,3704,0 +6370,chaos,-520364,-516060,-516260,-515860,4304,4304,0 +6371,chaos,-520364,-522110,-522310,-521910,1746,-1746,0 +6372,chaos,-520364,-516210,-516410,-516010,4154,4154,0 +6373,chaos,-520364,-515720,-515920,-515520,4644,4644,0 +6374,chaos,-520364,-516500,-516700,-516300,3864,3864,0 +6375,chaos,-520364,-516970,-517170,-516770,3394,3394,0 +6376,chaos,-520364,-519580,-519780,-519380,784,784,0 +6377,chaos,-520364,-517050,-517250,-516850,3314,3314,0 +6378,chaos,-520364,-517170,-517370,-516970,3194,3194,0 +6379,chaos,-520364,-522770,-522970,-522570,2406,-2406,0 +6380,chaos,-520364,-518250,-518450,-518050,2114,2114,0 +6381,chaos,-520364,-524490,-524690,-524290,4126,-4126,0 +6382,chaos,-520364,-519530,-519730,-519330,834,834,0 +6383,chaos,-520364,-523070,-523270,-522870,2706,-2706,0 +6384,chaos,-520364,-524880,-525080,-524680,4516,-4516,0 +6385,chaos,-520364,-523110,-523310,-522910,2746,-2746,0 +6386,chaos,-520364,-521060,-521260,-520860,696,-696,0 +6387,chaos,-520364,-520810,-521010,-520610,446,-446,0 +6388,chaos,-520364,-518100,-518300,-517900,2264,2264,0 +6389,chaos,-520364,-519460,-519660,-519260,904,904,0 +6390,chaos,-520364,-518060,-518260,-517860,2304,2304,0 +6391,chaos,-520364,-519360,-519560,-519160,1004,1004,0 +6392,chaos,-520364,-524770,-524970,-524570,4406,-4406,0 +6393,chaos,-520364,-521290,-521490,-521090,926,-926,0 +6394,chaos,-520364,-516060,-516260,-515860,4304,4304,0 +6395,chaos,-520364,-517970,-518170,-517770,2394,2394,0 +6396,chaos,-520364,-524110,-524310,-523910,3746,-3746,0 +6397,chaos,-520364,-516910,-517110,-516710,3454,3454,0 +6398,chaos,-520364,-520870,-521070,-520670,506,-506,0 +6399,chaos,-520364,-519150,-519350,-518950,1214,1214,0 +6400,chaos,-520364,-522130,-522330,-521930,1766,-1766,0 +6401,chaos,-520364,-516700,-516900,-516500,3664,3664,0 +6402,chaos,-520364,-521150,-521350,-520950,786,-786,0 +6403,chaos,-520364,-520860,-521060,-520660,496,-496,0 +6404,chaos,-520364,-516270,-516470,-516070,4094,4094,0 +6405,chaos,-520364,-520070,-520270,-519870,294,294,0.275 +6406,chaos,-520364,-516130,-516330,-515930,4234,4234,0 +6407,chaos,-520364,-517580,-517780,-517380,2784,2784,0 +6408,chaos,-520364,-518890,-519090,-518690,1474,1474,0 +6409,chaos,-520364,-524430,-524630,-524230,4066,-4066,0 +6410,chaos,-520364,-522100,-522300,-521900,1736,-1736,0 +6411,chaos,-520364,-523100,-523300,-522900,2736,-2736,0 +6412,chaos,-520364,-521280,-521480,-521080,916,-916,0 +6413,chaos,-520364,-523190,-523390,-522990,2826,-2826,0 +6414,chaos,-520364,-524410,-524610,-524210,4046,-4046,0 +6415,chaos,-520364,-517900,-518100,-517700,2464,2464,0 +6416,chaos,-520364,-524430,-524630,-524230,4066,-4066,0 +6417,chaos,-520364,-523560,-523760,-523360,3196,-3196,0 +6418,chaos,-520364,-521240,-521440,-521040,876,-876,0 +6419,chaos,-520364,-522780,-522980,-522580,2416,-2416,0 +6420,chaos,-520364,-524170,-524370,-523970,3806,-3806,0 +6421,chaos,-520364,-515480,-515680,-515280,4884,4884,0 +6422,chaos,-520364,-524020,-524220,-523820,3656,-3656,0 +6423,chaos,-520364,-515490,-515690,-515290,4874,4874,0 +6424,chaos,-520364,-525100,-525300,-524900,4736,-4736,0 +6425,chaos,-520364,-524600,-524800,-524400,4236,-4236,0 +6426,chaos,-520364,-516220,-516420,-516020,4144,4144,0 +6427,chaos,-520364,-522920,-523120,-522720,2556,-2556,0 +6428,chaos,-520364,-517620,-517820,-517420,2744,2744,0 +6429,chaos,-520364,-522990,-523190,-522790,2626,-2626,0 +6430,chaos,-520364,-516690,-516890,-516490,3674,3674,0 +6431,chaos,-520364,-518110,-518310,-517910,2254,2254,0 +6432,chaos,-520364,-520190,-520390,-519990,174,174,0.575 +6433,chaos,-520364,-521170,-521370,-520970,806,-806,0 +6434,chaos,-520364,-517090,-517290,-516890,3274,3274,0 +6435,chaos,-520364,-517880,-518080,-517680,2484,2484,0 +6436,chaos,-520364,-522590,-522790,-522390,2226,-2226,0 +6437,chaos,-520364,-516990,-517190,-516790,3374,3374,0 +6438,chaos,-520364,-522160,-522360,-521960,1796,-1796,0 +6439,chaos,-520364,-523590,-523790,-523390,3226,-3226,0 +6440,chaos,-520364,-522300,-522500,-522100,1936,-1936,0 +6441,chaos,-520364,-523480,-523680,-523280,3116,-3116,0 +6442,chaos,-520364,-525040,-525240,-524840,4676,-4676,0 +6443,chaos,-520364,-522530,-522730,-522330,2166,-2166,0 +6444,chaos,-520364,-516170,-516370,-515970,4194,4194,0 +6445,chaos,-520364,-522300,-522500,-522100,1936,-1936,0 +6446,chaos,-520364,-515970,-516170,-515770,4394,4394,0 +6447,chaos,-520364,-517440,-517640,-517240,2924,2924,0 +6448,chaos,-520364,-515550,-515750,-515350,4814,4814,0 +6449,chaos,-520364,-520260,-520460,-520060,104,104,0.75 +6450,chaos,-520364,-519800,-520000,-519600,564,564,0 +6451,chaos,-520364,-523180,-523380,-522980,2816,-2816,0 +6452,chaos,-520364,-516940,-517140,-516740,3424,3424,0 +6453,chaos,-520364,-524350,-524550,-524150,3986,-3986,0 +6454,chaos,-520364,-519080,-519280,-518880,1284,1284,0 +6455,chaos,-520364,-521380,-521580,-521180,1016,-1016,0 +6456,chaos,-520364,-521170,-521370,-520970,806,-806,0 +6457,chaos,-520364,-523480,-523680,-523280,3116,-3116,0 +6458,chaos,-520364,-517110,-517310,-516910,3254,3254,0 +6459,chaos,-520364,-521040,-521240,-520840,676,-676,0 +6460,chaos,-520364,-521560,-521760,-521360,1196,-1196,0 +6461,chaos,-520364,-523350,-523550,-523150,2986,-2986,0 +6462,chaos,-520364,-525130,-525330,-524930,4766,-4766,0 +6463,chaos,-520364,-522740,-522940,-522540,2376,-2376,0 +6464,chaos,-520364,-520820,-521020,-520620,456,-456,0 +6465,chaos,-520364,-516740,-516940,-516540,3624,3624,0 +6466,chaos,-520364,-515670,-515870,-515470,4694,4694,0 +6467,chaos,-520364,-522660,-522860,-522460,2296,-2296,0 +6468,chaos,-520364,-518100,-518300,-517900,2264,2264,0 +6469,chaos,-520364,-515670,-515870,-515470,4694,4694,0 +6470,chaos,-520364,-517180,-517380,-516980,3184,3184,0 +6471,chaos,-520364,-519500,-519700,-519300,864,864,0 +6472,chaos,-520364,-516940,-517140,-516740,3424,3424,0 +6473,chaos,-520364,-520270,-520470,-520070,94,94,0.775 +6474,chaos,-520364,-523880,-524080,-523680,3516,-3516,0 +6475,chaos,-520364,-516160,-516360,-515960,4204,4204,0 +6476,chaos,-520364,-524830,-525030,-524630,4466,-4466,0 +6477,chaos,-520364,-518340,-518540,-518140,2024,2024,0 +6478,chaos,-520364,-516490,-516690,-516290,3874,3874,0 +6479,chaos,-520364,-521840,-522040,-521640,1476,-1476,0 +6480,chaos,-520364,-520550,-520750,-520350,186,-186,0.525 +6481,chaos,-520364,-517810,-518010,-517610,2554,2554,0 +6482,chaos,-520364,-516740,-516940,-516540,3624,3624,0 +6483,chaos,-520364,-522510,-522710,-522310,2146,-2146,0 +6484,chaos,-520364,-517110,-517310,-516910,3254,3254,0 +6485,chaos,-520364,-523490,-523690,-523290,3126,-3126,0 +6486,chaos,-520364,-521580,-521780,-521380,1216,-1216,0 +6487,chaos,-520364,-524570,-524770,-524370,4206,-4206,0 +6488,chaos,-520364,-519440,-519640,-519240,924,924,0 +6489,chaos,-520364,-515730,-515930,-515530,4634,4634,0 +6490,chaos,-520364,-520940,-521140,-520740,576,-576,0 +6491,chaos,-520364,-517390,-517590,-517190,2974,2974,0 +6492,chaos,-520364,-516490,-516690,-516290,3874,3874,0 +6493,chaos,-520364,-520020,-520220,-519820,344,344,0.15 +6494,chaos,-520364,-518250,-518450,-518050,2114,2114,0 +6495,chaos,-520364,-522890,-523090,-522690,2526,-2526,0 +6496,chaos,-520364,-519200,-519400,-519000,1164,1164,0 +6497,chaos,-520364,-523720,-523920,-523520,3356,-3356,0 +6498,chaos,-520364,-522900,-523100,-522700,2536,-2536,0 +6499,chaos,-520364,-518830,-519030,-518630,1534,1534,0 +6500,chaos,-520364,-519380,-519580,-519180,984,984,0 +6501,chaos,-520364,-524010,-524210,-523810,3646,-3646,0 +6502,chaos,-520364,-517700,-517900,-517500,2664,2664,0 +6503,chaos,-520364,-518280,-518480,-518080,2084,2084,0 +6504,chaos,-520364,-521210,-521410,-521010,846,-846,0 +6505,chaos,-520364,-523290,-523490,-523090,2926,-2926,0 +6506,chaos,-520364,-519410,-519610,-519210,954,954,0 +6507,chaos,-520364,-518470,-518670,-518270,1894,1894,0 +6508,chaos,-520364,-520010,-520210,-519810,354,354,0.125 +6509,chaos,-520364,-522950,-523150,-522750,2586,-2586,0 +6510,chaos,-520364,-524810,-525010,-524610,4446,-4446,0 +6511,chaos,-520364,-519120,-519320,-518920,1244,1244,0 +6512,chaos,-520364,-516760,-516960,-516560,3604,3604,0 +6513,chaos,-520364,-518020,-518220,-517820,2344,2344,0 +6514,chaos,-520364,-517680,-517880,-517480,2684,2684,0 +6515,chaos,-520364,-519890,-520090,-519690,474,474,0 +6516,chaos,-520364,-522360,-522560,-522160,1996,-1996,0 +6517,chaos,-520364,-523620,-523820,-523420,3256,-3256,0 +6518,chaos,-520364,-521760,-521960,-521560,1396,-1396,0 +6519,chaos,-520364,-518170,-518370,-517970,2194,2194,0 +6520,chaos,-520364,-516350,-516550,-516150,4014,4014,0 +6521,chaos,-520364,-523030,-523230,-522830,2666,-2666,0 +6522,chaos,-520364,-517280,-517480,-517080,3084,3084,0 +6523,chaos,-520364,-521460,-521660,-521260,1096,-1096,0 +6524,chaos,-520364,-522740,-522940,-522540,2376,-2376,0 +6525,chaos,-520364,-523990,-524190,-523790,3626,-3626,0 +6526,chaos,-520364,-523570,-523770,-523370,3206,-3206,0 +6527,chaos,-520364,-520250,-520450,-520050,114,114,0.725 +6528,chaos,-520364,-518690,-518890,-518490,1674,1674,0 +6529,chaos,-520364,-519980,-520180,-519780,384,384,0.05 +6530,chaos,-520364,-516740,-516940,-516540,3624,3624,0 +6531,chaos,-520364,-516440,-516640,-516240,3924,3924,0 +6532,chaos,-520364,-522280,-522480,-522080,1916,-1916,0 +6533,chaos,-520364,-522190,-522390,-521990,1826,-1826,0 +6534,chaos,-520364,-519360,-519560,-519160,1004,1004,0 +6535,chaos,-520364,-524410,-524610,-524210,4046,-4046,0 +6536,chaos,-520364,-521390,-521590,-521190,1026,-1026,0 +6537,chaos,-520364,-520680,-520880,-520480,316,-316,0.2 +6538,chaos,-520364,-518930,-519130,-518730,1434,1434,0 +6539,chaos,-520364,-519710,-519910,-519510,654,654,0 +6540,chaos,-520364,-523110,-523310,-522910,2746,-2746,0 +6541,chaos,-520364,-523630,-523830,-523430,3266,-3266,0 +6542,chaos,-520364,-519160,-519360,-518960,1204,1204,0 +6543,chaos,-520364,-518290,-518490,-518090,2074,2074,0 +6544,chaos,-520364,-516340,-516540,-516140,4024,4024,0 +6545,chaos,-520364,-521320,-521520,-521120,956,-956,0 +6546,chaos,-520364,-521350,-521550,-521150,986,-986,0 +6547,chaos,-520364,-516840,-517040,-516640,3524,3524,0 +6548,chaos,-520364,-517590,-517790,-517390,2774,2774,0 +6549,chaos,-520364,-521070,-521270,-520870,706,-706,0 +6550,chaos,-520364,-517050,-517250,-516850,3314,3314,0 +6551,chaos,-520364,-523480,-523680,-523280,3116,-3116,0 +6552,chaos,-520364,-525210,-525410,-525010,4846,-4846,0 +6553,chaos,-520364,-524750,-524950,-524550,4386,-4386,0 +6554,chaos,-520364,-519670,-519870,-519470,694,694,0 +6555,chaos,-520364,-517000,-517200,-516800,3364,3364,0 +6556,chaos,-520364,-516870,-517070,-516670,3494,3494,0 +6557,chaos,-520364,-518540,-518740,-518340,1824,1824,0 +6558,chaos,-520364,-522350,-522550,-522150,1986,-1986,0 +6559,chaos,-520364,-522090,-522290,-521890,1726,-1726,0 +6560,chaos,-520364,-516110,-516310,-515910,4254,4254,0 +6561,chaos,-520364,-517850,-518050,-517650,2514,2514,0 +6562,chaos,-520364,-521960,-522160,-521760,1596,-1596,0 +6563,chaos,-520364,-522110,-522310,-521910,1746,-1746,0 +6564,chaos,-520364,-517420,-517620,-517220,2944,2944,0 +6565,chaos,-520364,-516180,-516380,-515980,4184,4184,0 +6566,chaos,-520364,-520780,-520980,-520580,416,-416,0 +6567,chaos,-520364,-524830,-525030,-524630,4466,-4466,0 +6568,chaos,-520364,-522620,-522820,-522420,2256,-2256,0 +6569,chaos,-520364,-522690,-522890,-522490,2326,-2326,0 +6570,chaos,-520364,-516060,-516260,-515860,4304,4304,0 +6571,chaos,-520364,-520450,-520650,-520250,86,-86,0.775 +6572,chaos,-520364,-516880,-517080,-516680,3484,3484,0 +6573,chaos,-520364,-519040,-519240,-518840,1324,1324,0 +6574,chaos,-520364,-521140,-521340,-520940,776,-776,0 +6575,chaos,-520364,-519280,-519480,-519080,1084,1084,0 +6576,chaos,-520364,-520090,-520290,-519890,274,274,0.325 +6577,chaos,-520364,-515660,-515860,-515460,4704,4704,0 +6578,chaos,-520364,-518310,-518510,-518110,2054,2054,0 +6579,chaos,-520364,-524550,-524750,-524350,4186,-4186,0 +6580,chaos,-520364,-523460,-523660,-523260,3096,-3096,0 +6581,chaos,-520364,-521440,-521640,-521240,1076,-1076,0 +6582,chaos,-520364,-516280,-516480,-516080,4084,4084,0 +6583,chaos,-520364,-523640,-523840,-523440,3276,-3276,0 +6584,chaos,-520364,-518050,-518250,-517850,2314,2314,0 +6585,chaos,-520364,-521930,-522130,-521730,1566,-1566,0 +6586,chaos,-520364,-520780,-520980,-520580,416,-416,0 +6587,chaos,-520364,-520190,-520390,-519990,174,174,0.575 +6588,chaos,-520364,-522970,-523170,-522770,2606,-2606,0 +6589,chaos,-520364,-517560,-517760,-517360,2804,2804,0 +6590,chaos,-520364,-517630,-517830,-517430,2734,2734,0 +6591,chaos,-520364,-521920,-522120,-521720,1556,-1556,0 +6592,chaos,-520364,-516960,-517160,-516760,3404,3404,0 +6593,chaos,-520364,-516600,-516800,-516400,3764,3764,0 +6594,chaos,-520364,-522670,-522870,-522470,2306,-2306,0 +6595,chaos,-520364,-524900,-525100,-524700,4536,-4536,0 +6596,chaos,-520364,-522990,-523190,-522790,2626,-2626,0 +6597,chaos,-520364,-517310,-517510,-517110,3054,3054,0 +6598,chaos,-520364,-524250,-524450,-524050,3886,-3886,0 +6599,chaos,-520364,-519000,-519200,-518800,1364,1364,0 +6600,chaos,-520364,-520730,-520930,-520530,366,-366,0.075 +6601,chaos,-520364,-521090,-521290,-520890,726,-726,0 +6602,chaos,-520364,-521920,-522120,-521720,1556,-1556,0 +6603,chaos,-520364,-515410,-515610,-515210,4954,4954,0 +6604,chaos,-520364,-518210,-518410,-518010,2154,2154,0 +6605,chaos,-520364,-523960,-524160,-523760,3596,-3596,0 +6606,chaos,-520364,-524050,-524250,-523850,3686,-3686,0 +6607,chaos,-520364,-521850,-522050,-521650,1486,-1486,0 +6608,chaos,-520364,-522760,-522960,-522560,2396,-2396,0 +6609,chaos,-520364,-525110,-525310,-524910,4746,-4746,0 +6610,chaos,-520364,-525200,-525400,-525000,4836,-4836,0 +6611,chaos,-520364,-516910,-517110,-516710,3454,3454,0 +6612,chaos,-520364,-517190,-517390,-516990,3174,3174,0 +6613,chaos,-520364,-515830,-516030,-515630,4534,4534,0 +6614,chaos,-520364,-520080,-520280,-519880,284,284,0.3 +6615,chaos,-520364,-524010,-524210,-523810,3646,-3646,0 +6616,chaos,-520364,-522830,-523030,-522630,2466,-2466,0 +6617,chaos,-520364,-521560,-521760,-521360,1196,-1196,0 +6618,chaos,-520364,-516750,-516950,-516550,3614,3614,0 +6619,chaos,-520364,-520120,-520320,-519920,244,244,0.4 +6620,chaos,-520364,-520770,-520970,-520570,406,-406,0 +6621,chaos,-520364,-520750,-520950,-520550,386,-386,0.025 +6622,chaos,-520364,-524440,-524640,-524240,4076,-4076,0 +6623,chaos,-520364,-520880,-521080,-520680,516,-516,0 +6624,chaos,-520364,-517810,-518010,-517610,2554,2554,0 +6625,chaos,-520364,-521260,-521460,-521060,896,-896,0 +6626,chaos,-520364,-518070,-518270,-517870,2294,2294,0 +6627,chaos,-520364,-515730,-515930,-515530,4634,4634,0 +6628,chaos,-520364,-516030,-516230,-515830,4334,4334,0 +6629,chaos,-520364,-516600,-516800,-516400,3764,3764,0 +6630,chaos,-520364,-522760,-522960,-522560,2396,-2396,0 +6631,chaos,-520364,-520220,-520420,-520020,144,144,0.65 +6632,chaos,-520364,-519960,-520160,-519760,404,404,0 +6633,chaos,-520364,-524920,-525120,-524720,4556,-4556,0 +6634,chaos,-520364,-522510,-522710,-522310,2146,-2146,0 +6635,chaos,-520364,-517200,-517400,-517000,3164,3164,0 +6636,chaos,-520364,-523100,-523300,-522900,2736,-2736,0 +6637,chaos,-520364,-523240,-523440,-523040,2876,-2876,0 +6638,chaos,-520364,-516160,-516360,-515960,4204,4204,0 +6639,chaos,-520364,-521090,-521290,-520890,726,-726,0 +6640,chaos,-520364,-524680,-524880,-524480,4316,-4316,0 +6641,chaos,-520364,-515700,-515900,-515500,4664,4664,0 +6642,chaos,-520364,-519560,-519760,-519360,804,804,0 +6643,chaos,-520364,-523290,-523490,-523090,2926,-2926,0 +6644,chaos,-520364,-518250,-518450,-518050,2114,2114,0 +6645,chaos,-520364,-518020,-518220,-517820,2344,2344,0 +6646,chaos,-520364,-520930,-521130,-520730,566,-566,0 +6647,chaos,-520364,-517030,-517230,-516830,3334,3334,0 +6648,chaos,-520364,-515610,-515810,-515410,4754,4754,0 +6649,chaos,-520364,-517660,-517860,-517460,2704,2704,0 +6650,chaos,-520364,-515820,-516020,-515620,4544,4544,0 +6651,chaos,-520364,-524610,-524810,-524410,4246,-4246,0 +6652,chaos,-520364,-516160,-516360,-515960,4204,4204,0 +6653,chaos,-520364,-515710,-515910,-515510,4654,4654,0 +6654,chaos,-520364,-519290,-519490,-519090,1074,1074,0 +6655,chaos,-520364,-521130,-521330,-520930,766,-766,0 +6656,chaos,-520364,-522500,-522700,-522300,2136,-2136,0 +6657,chaos,-520364,-519170,-519370,-518970,1194,1194,0 +6658,chaos,-520364,-522590,-522790,-522390,2226,-2226,0 +6659,chaos,-520364,-517300,-517500,-517100,3064,3064,0 +6660,chaos,-520364,-517470,-517670,-517270,2894,2894,0 +6661,chaos,-520364,-521240,-521440,-521040,876,-876,0 +6662,chaos,-520364,-519850,-520050,-519650,514,514,0 +6663,chaos,-520364,-521600,-521800,-521400,1236,-1236,0 +6664,chaos,-520364,-519870,-520070,-519670,494,494,0 +6665,chaos,-520364,-516560,-516760,-516360,3804,3804,0 +6666,chaos,-520364,-518910,-519110,-518710,1454,1454,0 +6667,chaos,-520364,-522750,-522950,-522550,2386,-2386,0 +6668,chaos,-520364,-517810,-518010,-517610,2554,2554,0 +6669,chaos,-520364,-518680,-518880,-518480,1684,1684,0 +6670,chaos,-520364,-523540,-523740,-523340,3176,-3176,0 +6671,chaos,-520364,-522730,-522930,-522530,2366,-2366,0 +6672,chaos,-520364,-517800,-518000,-517600,2564,2564,0 +6673,chaos,-520364,-516110,-516310,-515910,4254,4254,0 +6674,chaos,-520364,-524810,-525010,-524610,4446,-4446,0 +6675,chaos,-520364,-518400,-518600,-518200,1964,1964,0 +6676,chaos,-520364,-521400,-521600,-521200,1036,-1036,0 +6677,chaos,-520364,-521070,-521270,-520870,706,-706,0 +6678,chaos,-520364,-519300,-519500,-519100,1064,1064,0 +6679,chaos,-520364,-522880,-523080,-522680,2516,-2516,0 +6680,chaos,-520364,-521490,-521690,-521290,1126,-1126,0 +6681,chaos,-520364,-523470,-523670,-523270,3106,-3106,0 +6682,chaos,-520364,-524800,-525000,-524600,4436,-4436,0 +6683,chaos,-520364,-516970,-517170,-516770,3394,3394,0 +6684,chaos,-520364,-525140,-525340,-524940,4776,-4776,0 +6685,chaos,-520364,-517760,-517960,-517560,2604,2604,0 +6686,chaos,-520364,-518110,-518310,-517910,2254,2254,0 +6687,chaos,-520364,-522800,-523000,-522600,2436,-2436,0 +6688,chaos,-520364,-522320,-522520,-522120,1956,-1956,0 +6689,chaos,-520364,-523070,-523270,-522870,2706,-2706,0 +6690,chaos,-520364,-516240,-516440,-516040,4124,4124,0 +6691,chaos,-520364,-523690,-523890,-523490,3326,-3326,0 +6692,chaos,-520364,-521620,-521820,-521420,1256,-1256,0 +6693,chaos,-520364,-518700,-518900,-518500,1664,1664,0 +6694,chaos,-520364,-523560,-523760,-523360,3196,-3196,0 +6695,chaos,-520364,-519330,-519530,-519130,1034,1034,0 +6696,chaos,-520364,-517910,-518110,-517710,2454,2454,0 +6697,chaos,-520364,-522730,-522930,-522530,2366,-2366,0 +6698,chaos,-520364,-519330,-519530,-519130,1034,1034,0 +6699,chaos,-520364,-521910,-522110,-521710,1546,-1546,0 +6700,chaos,-520364,-524110,-524310,-523910,3746,-3746,0 +6701,chaos,-520364,-525210,-525410,-525010,4846,-4846,0 +6702,chaos,-520364,-524980,-525180,-524780,4616,-4616,0 +6703,chaos,-520364,-516040,-516240,-515840,4324,4324,0 +6704,chaos,-520364,-520410,-520610,-520210,46,-46,0.875 +6705,chaos,-520364,-523960,-524160,-523760,3596,-3596,0 +6706,chaos,-520364,-516850,-517050,-516650,3514,3514,0 +6707,chaos,-520364,-520940,-521140,-520740,576,-576,0 +6708,chaos,-520364,-524610,-524810,-524410,4246,-4246,0 +6709,chaos,-520364,-515430,-515630,-515230,4934,4934,0 +6710,chaos,-520364,-523400,-523600,-523200,3036,-3036,0 +6711,chaos,-520364,-520430,-520630,-520230,66,-66,0.825 +6712,chaos,-520364,-519210,-519410,-519010,1154,1154,0 +6713,chaos,-520364,-519270,-519470,-519070,1094,1094,0 +6714,chaos,-520364,-520060,-520260,-519860,304,304,0.25 +6715,chaos,-520364,-516990,-517190,-516790,3374,3374,0 +6716,chaos,-520364,-515760,-515960,-515560,4604,4604,0 +6717,chaos,-520364,-517630,-517830,-517430,2734,2734,0 +6718,chaos,-520364,-515940,-516140,-515740,4424,4424,0 +6719,chaos,-520364,-515650,-515850,-515450,4714,4714,0 +6720,chaos,-520364,-516030,-516230,-515830,4334,4334,0 +6721,chaos,-520364,-516700,-516900,-516500,3664,3664,0 +6722,chaos,-520364,-523820,-524020,-523620,3456,-3456,0 +6723,chaos,-520364,-519620,-519820,-519420,744,744,0 +6724,chaos,-520364,-523720,-523920,-523520,3356,-3356,0 +6725,chaos,-520364,-518590,-518790,-518390,1774,1774,0 +6726,chaos,-520364,-518000,-518200,-517800,2364,2364,0 +6727,chaos,-520364,-516270,-516470,-516070,4094,4094,0 +6728,chaos,-520364,-524680,-524880,-524480,4316,-4316,0 +6729,chaos,-520364,-523690,-523890,-523490,3326,-3326,0 +6730,chaos,-520364,-523250,-523450,-523050,2886,-2886,0 +6731,chaos,-520364,-517240,-517440,-517040,3124,3124,0 +6732,chaos,-520364,-525290,-525490,-525090,4926,-4926,0 +6733,chaos,-520364,-520140,-520340,-519940,224,224,0.45 +6734,chaos,-520364,-518360,-518560,-518160,2004,2004,0 +6735,chaos,-520364,-521410,-521610,-521210,1046,-1046,0 +6736,chaos,-520364,-522930,-523130,-522730,2566,-2566,0 +6737,chaos,-520364,-519110,-519310,-518910,1254,1254,0 +6738,chaos,-520364,-518280,-518480,-518080,2084,2084,0 +6739,chaos,-520364,-518820,-519020,-518620,1544,1544,0 +6740,chaos,-520364,-518230,-518430,-518030,2134,2134,0 +6741,chaos,-520364,-520270,-520470,-520070,94,94,0.775 +6742,chaos,-520364,-522880,-523080,-522680,2516,-2516,0 +6743,chaos,-520364,-520910,-521110,-520710,546,-546,0 +6744,chaos,-520364,-518930,-519130,-518730,1434,1434,0 +6745,chaos,-520364,-521170,-521370,-520970,806,-806,0 +6746,chaos,-520364,-524950,-525150,-524750,4586,-4586,0 +6747,chaos,-520364,-521970,-522170,-521770,1606,-1606,0 +6748,chaos,-520364,-524050,-524250,-523850,3686,-3686,0 +6749,chaos,-520364,-515920,-516120,-515720,4444,4444,0 +6750,chaos,-520364,-523240,-523440,-523040,2876,-2876,0 +6751,chaos,-520364,-515620,-515820,-515420,4744,4744,0 +6752,chaos,-520364,-524350,-524550,-524150,3986,-3986,0 +6753,chaos,-520364,-516620,-516820,-516420,3744,3744,0 +6754,chaos,-520364,-519580,-519780,-519380,784,784,0 +6755,chaos,-520364,-519730,-519930,-519530,634,634,0 +6756,chaos,-520364,-520780,-520980,-520580,416,-416,0 +6757,chaos,-520364,-517890,-518090,-517690,2474,2474,0 +6758,chaos,-520364,-520790,-520990,-520590,426,-426,0 +6759,chaos,-520364,-518520,-518720,-518320,1844,1844,0 +6760,chaos,-520364,-519670,-519870,-519470,694,694,0 +6761,chaos,-520364,-516950,-517150,-516750,3414,3414,0 +6762,chaos,-520364,-520210,-520410,-520010,154,154,0.625 +6763,chaos,-520364,-522680,-522880,-522480,2316,-2316,0 +6764,chaos,-520364,-524930,-525130,-524730,4566,-4566,0 +6765,chaos,-520364,-521740,-521940,-521540,1376,-1376,0 +6766,chaos,-520364,-518660,-518860,-518460,1704,1704,0 +6767,chaos,-520364,-520880,-521080,-520680,516,-516,0 +6768,chaos,-520364,-519480,-519680,-519280,884,884,0 +6769,chaos,-520364,-524000,-524200,-523800,3636,-3636,0 +6770,chaos,-520364,-515530,-515730,-515330,4834,4834,0 +6771,chaos,-520364,-523920,-524120,-523720,3556,-3556,0 +6772,chaos,-520364,-524550,-524750,-524350,4186,-4186,0 +6773,chaos,-520364,-518390,-518590,-518190,1974,1974,0 +6774,chaos,-520364,-516370,-516570,-516170,3994,3994,0 +6775,chaos,-520364,-516060,-516260,-515860,4304,4304,0 +6776,chaos,-520364,-519920,-520120,-519720,444,444,0 +6777,chaos,-520364,-524470,-524670,-524270,4106,-4106,0 +6778,chaos,-520364,-516660,-516860,-516460,3704,3704,0 +6779,chaos,-520364,-525310,-525510,-525110,4946,-4946,0 +6780,chaos,-520364,-519010,-519210,-518810,1354,1354,0 +6781,chaos,-520364,-519330,-519530,-519130,1034,1034,0 +6782,chaos,-520364,-516250,-516450,-516050,4114,4114,0 +6783,chaos,-520364,-519830,-520030,-519630,534,534,0 +6784,chaos,-520364,-521190,-521390,-520990,826,-826,0 +6785,chaos,-520364,-522300,-522500,-522100,1936,-1936,0 +6786,chaos,-520364,-517520,-517720,-517320,2844,2844,0 +6787,chaos,-520364,-521320,-521520,-521120,956,-956,0 +6788,chaos,-520364,-519130,-519330,-518930,1234,1234,0 +6789,chaos,-520364,-524690,-524890,-524490,4326,-4326,0 +6790,chaos,-520364,-520290,-520490,-520090,74,74,0.825 +6791,chaos,-520364,-522900,-523100,-522700,2536,-2536,0 +6792,chaos,-520364,-516550,-516750,-516350,3814,3814,0 +6793,chaos,-520364,-521950,-522150,-521750,1586,-1586,0 +6794,chaos,-520364,-517550,-517750,-517350,2814,2814,0 +6795,chaos,-520364,-516270,-516470,-516070,4094,4094,0 +6796,chaos,-520364,-516990,-517190,-516790,3374,3374,0 +6797,chaos,-520364,-515740,-515940,-515540,4624,4624,0 +6798,chaos,-520364,-523240,-523440,-523040,2876,-2876,0 +6799,chaos,-520364,-524390,-524590,-524190,4026,-4026,0 +6800,chaos,-520364,-516210,-516410,-516010,4154,4154,0 +6801,chaos,-520364,-517050,-517250,-516850,3314,3314,0 +6802,chaos,-520364,-517990,-518190,-517790,2374,2374,0 +6803,chaos,-520364,-517580,-517780,-517380,2784,2784,0 +6804,chaos,-520364,-521230,-521430,-521030,866,-866,0 +6805,chaos,-520364,-524940,-525140,-524740,4576,-4576,0 +6806,chaos,-520364,-515580,-515780,-515380,4784,4784,0 +6807,chaos,-520364,-516290,-516490,-516090,4074,4074,0 +6808,chaos,-520364,-520370,-520570,-520170,6,-6,0.975 +6809,chaos,-520364,-520820,-521020,-520620,456,-456,0 +6810,chaos,-520364,-524420,-524620,-524220,4056,-4056,0 +6811,chaos,-520364,-515850,-516050,-515650,4514,4514,0 +6812,chaos,-520364,-522620,-522820,-522420,2256,-2256,0 +6813,chaos,-520364,-521650,-521850,-521450,1286,-1286,0 +6814,chaos,-520364,-516480,-516680,-516280,3884,3884,0 +6815,chaos,-520364,-525010,-525210,-524810,4646,-4646,0 +6816,chaos,-520364,-524980,-525180,-524780,4616,-4616,0 +6817,chaos,-520364,-521380,-521580,-521180,1016,-1016,0 +6818,chaos,-520364,-523630,-523830,-523430,3266,-3266,0 +6819,chaos,-520364,-516630,-516830,-516430,3734,3734,0 +6820,chaos,-520364,-517580,-517780,-517380,2784,2784,0 +6821,chaos,-520364,-522960,-523160,-522760,2596,-2596,0 +6822,chaos,-520364,-523010,-523210,-522810,2646,-2646,0 +6823,chaos,-520364,-519760,-519960,-519560,604,604,0 +6824,chaos,-520364,-523580,-523780,-523380,3216,-3216,0 +6825,chaos,-520364,-520840,-521040,-520640,476,-476,0 +6826,chaos,-520364,-523770,-523970,-523570,3406,-3406,0 +6827,chaos,-520364,-521000,-521200,-520800,636,-636,0 +6828,chaos,-520364,-517370,-517570,-517170,2994,2994,0 +6829,chaos,-520364,-516410,-516610,-516210,3954,3954,0 +6830,chaos,-520364,-517680,-517880,-517480,2684,2684,0 +6831,chaos,-520364,-518920,-519120,-518720,1444,1444,0 +6832,chaos,-520364,-522070,-522270,-521870,1706,-1706,0 +6833,chaos,-520364,-519980,-520180,-519780,384,384,0.05 +6834,chaos,-520364,-516090,-516290,-515890,4274,4274,0 +6835,chaos,-520364,-520520,-520720,-520320,156,-156,0.6 +6836,chaos,-520364,-517300,-517500,-517100,3064,3064,0 +6837,chaos,-520364,-520670,-520870,-520470,306,-306,0.225 +6838,chaos,-520364,-518470,-518670,-518270,1894,1894,0 +6839,chaos,-520364,-522980,-523180,-522780,2616,-2616,0 +6840,chaos,-520364,-522940,-523140,-522740,2576,-2576,0 +6841,chaos,-520364,-524900,-525100,-524700,4536,-4536,0 +6842,chaos,-520364,-524240,-524440,-524040,3876,-3876,0 +6843,chaos,-520364,-517720,-517920,-517520,2644,2644,0 +6844,chaos,-520364,-515830,-516030,-515630,4534,4534,0 +6845,chaos,-520364,-522420,-522620,-522220,2056,-2056,0 +6846,chaos,-520364,-521350,-521550,-521150,986,-986,0 +6847,chaos,-520364,-517020,-517220,-516820,3344,3344,0 +6848,chaos,-520364,-522870,-523070,-522670,2506,-2506,0 +6849,chaos,-520364,-524590,-524790,-524390,4226,-4226,0 +6850,chaos,-520364,-517610,-517810,-517410,2754,2754,0 +6851,chaos,-520364,-518360,-518560,-518160,2004,2004,0 +6852,chaos,-520364,-521020,-521220,-520820,656,-656,0 +6853,chaos,-520364,-523790,-523990,-523590,3426,-3426,0 +6854,chaos,-520364,-522080,-522280,-521880,1716,-1716,0 +6855,chaos,-520364,-522380,-522580,-522180,2016,-2016,0 +6856,chaos,-520364,-519230,-519430,-519030,1134,1134,0 +6857,chaos,-520364,-523090,-523290,-522890,2726,-2726,0 +6858,chaos,-520364,-516290,-516490,-516090,4074,4074,0 +6859,chaos,-520364,-521430,-521630,-521230,1066,-1066,0 +6860,chaos,-520364,-515710,-515910,-515510,4654,4654,0 +6861,chaos,-520364,-518620,-518820,-518420,1744,1744,0 +6862,chaos,-520364,-525150,-525350,-524950,4786,-4786,0 +6863,chaos,-520364,-517420,-517620,-517220,2944,2944,0 +6864,chaos,-520364,-516610,-516810,-516410,3754,3754,0 +6865,chaos,-520364,-521410,-521610,-521210,1046,-1046,0 +6866,chaos,-520364,-520240,-520440,-520040,124,124,0.7 +6867,chaos,-520364,-523790,-523990,-523590,3426,-3426,0 +6868,chaos,-520364,-521880,-522080,-521680,1516,-1516,0 +6869,chaos,-520364,-516690,-516890,-516490,3674,3674,0 +6870,chaos,-520364,-520120,-520320,-519920,244,244,0.4 +6871,chaos,-520364,-521100,-521300,-520900,736,-736,0 +6872,chaos,-520364,-520260,-520460,-520060,104,104,0.75 +6873,chaos,-520364,-521290,-521490,-521090,926,-926,0 +6874,chaos,-520364,-518820,-519020,-518620,1544,1544,0 +6875,chaos,-520364,-523720,-523920,-523520,3356,-3356,0 +6876,chaos,-520364,-524950,-525150,-524750,4586,-4586,0 +6877,chaos,-520364,-520490,-520690,-520290,126,-126,0.675 +6878,chaos,-520364,-523200,-523400,-523000,2836,-2836,0 +6879,chaos,-520364,-520180,-520380,-519980,184,184,0.55 +6880,chaos,-520364,-518080,-518280,-517880,2284,2284,0 +6881,chaos,-520364,-521450,-521650,-521250,1086,-1086,0 +6882,chaos,-520364,-515660,-515860,-515460,4704,4704,0 +6883,chaos,-520364,-517330,-517530,-517130,3034,3034,0 +6884,chaos,-520364,-520690,-520890,-520490,326,-326,0.175 +6885,chaos,-520364,-515480,-515680,-515280,4884,4884,0 +6886,chaos,-520364,-519460,-519660,-519260,904,904,0 +6887,chaos,-520364,-519930,-520130,-519730,434,434,0 +6888,chaos,-520364,-520860,-521060,-520660,496,-496,0 +6889,chaos,-520364,-520200,-520400,-520000,164,164,0.6 +6890,chaos,-520364,-524890,-525090,-524690,4526,-4526,0 +6891,chaos,-520364,-523140,-523340,-522940,2776,-2776,0 +6892,chaos,-520364,-519140,-519340,-518940,1224,1224,0 +6893,chaos,-520364,-515380,-515580,-515180,4984,4984,0 +6894,chaos,-520364,-520220,-520420,-520020,144,144,0.65 +6895,chaos,-520364,-524780,-524980,-524580,4416,-4416,0 +6896,chaos,-520364,-523150,-523350,-522950,2786,-2786,0 +6897,chaos,-520364,-521960,-522160,-521760,1596,-1596,0 +6898,chaos,-520364,-523050,-523250,-522850,2686,-2686,0 +6899,chaos,-520364,-523990,-524190,-523790,3626,-3626,0 +6900,chaos,-520364,-515600,-515800,-515400,4764,4764,0 +6901,chaos,-520364,-522060,-522260,-521860,1696,-1696,0 +6902,chaos,-520364,-517620,-517820,-517420,2744,2744,0 +6903,chaos,-520364,-516930,-517130,-516730,3434,3434,0 +6904,chaos,-520364,-518220,-518420,-518020,2144,2144,0 +6905,chaos,-520364,-525340,-525540,-525140,4976,-4976,0 +6906,chaos,-520364,-516970,-517170,-516770,3394,3394,0 +6907,chaos,-520364,-516880,-517080,-516680,3484,3484,0 +6908,chaos,-520364,-517340,-517540,-517140,3024,3024,0 +6909,chaos,-520364,-519370,-519570,-519170,994,994,0 +6910,chaos,-520364,-522080,-522280,-521880,1716,-1716,0 +6911,chaos,-520364,-515700,-515900,-515500,4664,4664,0 +6912,chaos,-520364,-522310,-522510,-522110,1946,-1946,0 +6913,chaos,-520364,-524610,-524810,-524410,4246,-4246,0 +6914,chaos,-520364,-519340,-519540,-519140,1024,1024,0 +6915,chaos,-520364,-524960,-525160,-524760,4596,-4596,0 +6916,chaos,-520364,-517370,-517570,-517170,2994,2994,0 +6917,chaos,-520364,-520040,-520240,-519840,324,324,0.2 +6918,chaos,-520364,-516610,-516810,-516410,3754,3754,0 +6919,chaos,-520364,-520770,-520970,-520570,406,-406,0 +6920,chaos,-520364,-516210,-516410,-516010,4154,4154,0 +6921,chaos,-520364,-523690,-523890,-523490,3326,-3326,0 +6922,chaos,-520364,-523950,-524150,-523750,3586,-3586,0 +6923,chaos,-520364,-518130,-518330,-517930,2234,2234,0 +6924,chaos,-520364,-523130,-523330,-522930,2766,-2766,0 +6925,chaos,-520364,-516930,-517130,-516730,3434,3434,0 +6926,chaos,-520364,-516590,-516790,-516390,3774,3774,0 +6927,chaos,-520364,-515600,-515800,-515400,4764,4764,0 +6928,chaos,-520364,-519430,-519630,-519230,934,934,0 +6929,chaos,-520364,-520080,-520280,-519880,284,284,0.3 +6930,chaos,-520364,-518000,-518200,-517800,2364,2364,0 +6931,chaos,-520364,-515920,-516120,-515720,4444,4444,0 +6932,chaos,-520364,-516960,-517160,-516760,3404,3404,0 +6933,chaos,-520364,-523610,-523810,-523410,3246,-3246,0 +6934,chaos,-520364,-524460,-524660,-524260,4096,-4096,0 +6935,chaos,-520364,-518580,-518780,-518380,1784,1784,0 +6936,chaos,-520364,-518520,-518720,-518320,1844,1844,0 +6937,chaos,-520364,-515440,-515640,-515240,4924,4924,0 +6938,chaos,-520364,-523180,-523380,-522980,2816,-2816,0 +6939,chaos,-520364,-519140,-519340,-518940,1224,1224,0 +6940,chaos,-520364,-520550,-520750,-520350,186,-186,0.525 +6941,chaos,-520364,-516990,-517190,-516790,3374,3374,0 +6942,chaos,-520364,-516030,-516230,-515830,4334,4334,0 +6943,chaos,-520364,-518550,-518750,-518350,1814,1814,0 +6944,chaos,-520364,-516190,-516390,-515990,4174,4174,0 +6945,chaos,-520364,-515450,-515650,-515250,4914,4914,0 +6946,chaos,-520364,-519590,-519790,-519390,774,774,0 +6947,chaos,-520364,-517540,-517740,-517340,2824,2824,0 +6948,chaos,-520364,-523900,-524100,-523700,3536,-3536,0 +6949,chaos,-520364,-525010,-525210,-524810,4646,-4646,0 +6950,chaos,-520364,-515550,-515750,-515350,4814,4814,0 +6951,chaos,-520364,-517380,-517580,-517180,2984,2984,0 +6952,chaos,-520364,-517870,-518070,-517670,2494,2494,0 +6953,chaos,-520364,-517580,-517780,-517380,2784,2784,0 +6954,chaos,-520364,-519400,-519600,-519200,964,964,0 +6955,chaos,-520364,-523810,-524010,-523610,3446,-3446,0 +6956,chaos,-520364,-520850,-521050,-520650,486,-486,0 +6957,chaos,-520364,-516000,-516200,-515800,4364,4364,0 +6958,chaos,-520364,-520330,-520530,-520130,34,34,0.925 +6959,chaos,-520364,-518030,-518230,-517830,2334,2334,0 +6960,chaos,-520364,-521570,-521770,-521370,1206,-1206,0 +6961,chaos,-520364,-519530,-519730,-519330,834,834,0 +6962,chaos,-520364,-525080,-525280,-524880,4716,-4716,0 +6963,chaos,-520364,-522830,-523030,-522630,2466,-2466,0 +6964,chaos,-520364,-524020,-524220,-523820,3656,-3656,0 +6965,chaos,-520364,-519520,-519720,-519320,844,844,0 +6966,chaos,-520364,-519840,-520040,-519640,524,524,0 +6967,chaos,-520364,-524540,-524740,-524340,4176,-4176,0 +6968,chaos,-520364,-515510,-515710,-515310,4854,4854,0 +6969,chaos,-520364,-523690,-523890,-523490,3326,-3326,0 +6970,chaos,-520364,-520350,-520550,-520150,14,14,0.975 +6971,chaos,-520364,-525290,-525490,-525090,4926,-4926,0 +6972,chaos,-520364,-525180,-525380,-524980,4816,-4816,0 +6973,chaos,-520364,-520180,-520380,-519980,184,184,0.55 +6974,chaos,-520364,-524100,-524300,-523900,3736,-3736,0 +6975,chaos,-520364,-519680,-519880,-519480,684,684,0 +6976,chaos,-520364,-521680,-521880,-521480,1316,-1316,0 +6977,chaos,-520364,-521110,-521310,-520910,746,-746,0 +6978,chaos,-520364,-519930,-520130,-519730,434,434,0 +6979,chaos,-520364,-523370,-523570,-523170,3006,-3006,0 +6980,chaos,-520364,-516420,-516620,-516220,3944,3944,0 +6981,chaos,-520364,-522410,-522610,-522210,2046,-2046,0 +6982,chaos,-520364,-520660,-520860,-520460,296,-296,0.25 +6983,chaos,-520364,-522060,-522260,-521860,1696,-1696,0 +6984,chaos,-520364,-518190,-518390,-517990,2174,2174,0 +6985,chaos,-520364,-519250,-519450,-519050,1114,1114,0 +6986,chaos,-520364,-516470,-516670,-516270,3894,3894,0 +6987,chaos,-520364,-524720,-524920,-524520,4356,-4356,0 +6988,chaos,-520364,-517250,-517450,-517050,3114,3114,0 +6989,chaos,-520364,-523520,-523720,-523320,3156,-3156,0 +6990,chaos,-520364,-517160,-517360,-516960,3204,3204,0 +6991,chaos,-520364,-521510,-521710,-521310,1146,-1146,0 +6992,chaos,-520364,-518640,-518840,-518440,1724,1724,0 +6993,chaos,-520364,-516380,-516580,-516180,3984,3984,0 +6994,chaos,-520364,-524690,-524890,-524490,4326,-4326,0 +6995,chaos,-520364,-521410,-521610,-521210,1046,-1046,0 +6996,chaos,-520364,-521960,-522160,-521760,1596,-1596,0 +6997,chaos,-520364,-524690,-524890,-524490,4326,-4326,0 +6998,chaos,-520364,-520430,-520630,-520230,66,-66,0.825 +6999,chaos,-520364,-525020,-525220,-524820,4656,-4656,0 +7000,chaos,-520364,-516520,-516720,-516320,3844,3844,0 +7001,chaos,-520364,-525080,-525280,-524880,4716,-4716,0 +7002,chaos,-520364,-516060,-516260,-515860,4304,4304,0 +7003,chaos,-520364,-522450,-522650,-522250,2086,-2086,0 +7004,chaos,-520364,-523640,-523840,-523440,3276,-3276,0 +7005,chaos,-520364,-517710,-517910,-517510,2654,2654,0 +7006,chaos,-520364,-520810,-521010,-520610,446,-446,0 +7007,chaos,-520364,-524020,-524220,-523820,3656,-3656,0 +7008,chaos,-520364,-517680,-517880,-517480,2684,2684,0 +7009,chaos,-520364,-516890,-517090,-516690,3474,3474,0 +7010,chaos,-520364,-523770,-523970,-523570,3406,-3406,0 +7011,chaos,-520364,-519550,-519750,-519350,814,814,0 +7012,chaos,-520364,-518550,-518750,-518350,1814,1814,0 +7013,chaos,-520364,-519160,-519360,-518960,1204,1204,0 +7014,chaos,-520364,-516590,-516790,-516390,3774,3774,0 +7015,chaos,-520364,-523800,-524000,-523600,3436,-3436,0 +7016,chaos,-520364,-518340,-518540,-518140,2024,2024,0 +7017,chaos,-520364,-515440,-515640,-515240,4924,4924,0 +7018,chaos,-520364,-516390,-516590,-516190,3974,3974,0 +7019,chaos,-520364,-516810,-517010,-516610,3554,3554,0 +7020,chaos,-520364,-522010,-522210,-521810,1646,-1646,0 +7021,chaos,-520364,-521900,-522100,-521700,1536,-1536,0 +7022,chaos,-520364,-519490,-519690,-519290,874,874,0 +7023,chaos,-520364,-516630,-516830,-516430,3734,3734,0 +7024,chaos,-520364,-517900,-518100,-517700,2464,2464,0 +7025,chaos,-520364,-522080,-522280,-521880,1716,-1716,0 +7026,chaos,-520364,-517530,-517730,-517330,2834,2834,0 +7027,chaos,-520364,-519140,-519340,-518940,1224,1224,0 +7028,chaos,-520364,-521390,-521590,-521190,1026,-1026,0 +7029,chaos,-520364,-521100,-521300,-520900,736,-736,0 +7030,chaos,-520364,-522230,-522430,-522030,1866,-1866,0 +7031,chaos,-520364,-521370,-521570,-521170,1006,-1006,0 +7032,chaos,-520364,-522320,-522520,-522120,1956,-1956,0 +7033,chaos,-520364,-516980,-517180,-516780,3384,3384,0 +7034,chaos,-520364,-515870,-516070,-515670,4494,4494,0 +7035,chaos,-520364,-518810,-519010,-518610,1554,1554,0 +7036,chaos,-520364,-519750,-519950,-519550,614,614,0 +7037,chaos,-520364,-519720,-519920,-519520,644,644,0 +7038,chaos,-520364,-523300,-523500,-523100,2936,-2936,0 +7039,chaos,-520364,-520010,-520210,-519810,354,354,0.125 +7040,chaos,-520364,-516160,-516360,-515960,4204,4204,0 +7041,chaos,-520364,-518970,-519170,-518770,1394,1394,0 +7042,chaos,-520364,-524370,-524570,-524170,4006,-4006,0 +7043,chaos,-520364,-525010,-525210,-524810,4646,-4646,0 +7044,chaos,-520364,-522160,-522360,-521960,1796,-1796,0 +7045,chaos,-520364,-517630,-517830,-517430,2734,2734,0 +7046,chaos,-520364,-520100,-520300,-519900,264,264,0.35 +7047,chaos,-520364,-522420,-522620,-522220,2056,-2056,0 +7048,chaos,-520364,-523750,-523950,-523550,3386,-3386,0 +7049,chaos,-520364,-520660,-520860,-520460,296,-296,0.25 +7050,chaos,-520364,-517060,-517260,-516860,3304,3304,0 +7051,chaos,-520364,-520150,-520350,-519950,214,214,0.475 +7052,chaos,-520364,-521580,-521780,-521380,1216,-1216,0 +7053,chaos,-520364,-518680,-518880,-518480,1684,1684,0 +7054,chaos,-520364,-518150,-518350,-517950,2214,2214,0 +7055,chaos,-520364,-520290,-520490,-520090,74,74,0.825 +7056,chaos,-520364,-517780,-517980,-517580,2584,2584,0 +7057,chaos,-520364,-516410,-516610,-516210,3954,3954,0 +7058,chaos,-520364,-520180,-520380,-519980,184,184,0.55 +7059,chaos,-520364,-521120,-521320,-520920,756,-756,0 +7060,chaos,-520364,-515820,-516020,-515620,4544,4544,0 +7061,chaos,-520364,-519290,-519490,-519090,1074,1074,0 +7062,chaos,-520364,-515510,-515710,-515310,4854,4854,0 +7063,chaos,-520364,-517500,-517700,-517300,2864,2864,0 +7064,chaos,-520364,-519760,-519960,-519560,604,604,0 +7065,chaos,-520364,-522640,-522840,-522440,2276,-2276,0 +7066,chaos,-520364,-518020,-518220,-517820,2344,2344,0 +7067,chaos,-520364,-524200,-524400,-524000,3836,-3836,0 +7068,chaos,-520364,-524850,-525050,-524650,4486,-4486,0 +7069,chaos,-520364,-521760,-521960,-521560,1396,-1396,0 +7070,chaos,-520364,-519270,-519470,-519070,1094,1094,0 +7071,chaos,-520364,-521270,-521470,-521070,906,-906,0 +7072,chaos,-520364,-521090,-521290,-520890,726,-726,0 +7073,chaos,-520364,-520000,-520200,-519800,364,364,0.1 +7074,chaos,-520364,-525200,-525400,-525000,4836,-4836,0 +7075,chaos,-520364,-515730,-515930,-515530,4634,4634,0 +7076,chaos,-520364,-522850,-523050,-522650,2486,-2486,0 +7077,chaos,-520364,-521090,-521290,-520890,726,-726,0 +7078,chaos,-520364,-522080,-522280,-521880,1716,-1716,0 +7079,chaos,-520364,-523000,-523200,-522800,2636,-2636,0 +7080,chaos,-520364,-524260,-524460,-524060,3896,-3896,0 +7081,chaos,-520364,-518680,-518880,-518480,1684,1684,0 +7082,chaos,-520364,-519570,-519770,-519370,794,794,0 +7083,chaos,-520364,-521740,-521940,-521540,1376,-1376,0 +7084,chaos,-520364,-516470,-516670,-516270,3894,3894,0 +7085,chaos,-520364,-517340,-517540,-517140,3024,3024,0 +7086,chaos,-520364,-515900,-516100,-515700,4464,4464,0 +7087,chaos,-520364,-522170,-522370,-521970,1806,-1806,0 +7088,chaos,-520364,-519050,-519250,-518850,1314,1314,0 +7089,chaos,-520364,-517890,-518090,-517690,2474,2474,0 +7090,chaos,-520364,-518020,-518220,-517820,2344,2344,0 +7091,chaos,-520364,-525140,-525340,-524940,4776,-4776,0 +7092,chaos,-520364,-519200,-519400,-519000,1164,1164,0 +7093,chaos,-520364,-522250,-522450,-522050,1886,-1886,0 +7094,chaos,-520364,-519810,-520010,-519610,554,554,0 +7095,chaos,-520364,-523980,-524180,-523780,3616,-3616,0 +7096,chaos,-520364,-518770,-518970,-518570,1594,1594,0 +7097,chaos,-520364,-521860,-522060,-521660,1496,-1496,0 +7098,chaos,-520364,-517860,-518060,-517660,2504,2504,0 +7099,chaos,-520364,-519550,-519750,-519350,814,814,0 +7100,chaos,-520364,-519360,-519560,-519160,1004,1004,0 +7101,chaos,-520364,-525150,-525350,-524950,4786,-4786,0 +7102,chaos,-520364,-525050,-525250,-524850,4686,-4686,0 +7103,chaos,-520364,-521170,-521370,-520970,806,-806,0 +7104,chaos,-520364,-520730,-520930,-520530,366,-366,0.075 +7105,chaos,-520364,-519060,-519260,-518860,1304,1304,0 +7106,chaos,-520364,-519850,-520050,-519650,514,514,0 +7107,chaos,-520364,-522960,-523160,-522760,2596,-2596,0 +7108,chaos,-520364,-518440,-518640,-518240,1924,1924,0 +7109,chaos,-520364,-522240,-522440,-522040,1876,-1876,0 +7110,chaos,-520364,-516990,-517190,-516790,3374,3374,0 +7111,chaos,-520364,-525270,-525470,-525070,4906,-4906,0 +7112,chaos,-520364,-522030,-522230,-521830,1666,-1666,0 +7113,chaos,-520364,-522820,-523020,-522620,2456,-2456,0 +7114,chaos,-520364,-522000,-522200,-521800,1636,-1636,0 +7115,chaos,-520364,-519870,-520070,-519670,494,494,0 +7116,chaos,-520364,-524580,-524780,-524380,4216,-4216,0 +7117,chaos,-520364,-518360,-518560,-518160,2004,2004,0 +7118,chaos,-520364,-521090,-521290,-520890,726,-726,0 +7119,chaos,-520364,-521340,-521540,-521140,976,-976,0 +7120,chaos,-520364,-522350,-522550,-522150,1986,-1986,0 +7121,chaos,-520364,-517110,-517310,-516910,3254,3254,0 +7122,chaos,-520364,-518120,-518320,-517920,2244,2244,0 +7123,chaos,-520364,-521870,-522070,-521670,1506,-1506,0 +7124,chaos,-520364,-519880,-520080,-519680,484,484,0 +7125,chaos,-520364,-523310,-523510,-523110,2946,-2946,0 +7126,chaos,-520364,-522980,-523180,-522780,2616,-2616,0 +7127,chaos,-520364,-515490,-515690,-515290,4874,4874,0 +7128,chaos,-520364,-522480,-522680,-522280,2116,-2116,0 +7129,chaos,-520364,-521990,-522190,-521790,1626,-1626,0 +7130,chaos,-520364,-517180,-517380,-516980,3184,3184,0 +7131,chaos,-520364,-524290,-524490,-524090,3926,-3926,0 +7132,chaos,-520364,-519020,-519220,-518820,1344,1344,0 +7133,chaos,-520364,-523690,-523890,-523490,3326,-3326,0 +7134,chaos,-520364,-518590,-518790,-518390,1774,1774,0 +7135,chaos,-520364,-523800,-524000,-523600,3436,-3436,0 +7136,chaos,-520364,-519480,-519680,-519280,884,884,0 +7137,chaos,-520364,-519410,-519610,-519210,954,954,0 +7138,chaos,-520364,-516210,-516410,-516010,4154,4154,0 +7139,chaos,-520364,-524910,-525110,-524710,4546,-4546,0 +7140,chaos,-520364,-518500,-518700,-518300,1864,1864,0 +7141,chaos,-520364,-519980,-520180,-519780,384,384,0.05 +7142,chaos,-520364,-521700,-521900,-521500,1336,-1336,0 +7143,chaos,-520364,-520140,-520340,-519940,224,224,0.45 +7144,chaos,-520364,-518300,-518500,-518100,2064,2064,0 +7145,chaos,-520364,-518960,-519160,-518760,1404,1404,0 +7146,chaos,-520364,-516560,-516760,-516360,3804,3804,0 +7147,chaos,-520364,-524530,-524730,-524330,4166,-4166,0 +7148,chaos,-520364,-516340,-516540,-516140,4024,4024,0 +7149,chaos,-520364,-518710,-518910,-518510,1654,1654,0 +7150,chaos,-520364,-521540,-521740,-521340,1176,-1176,0 +7151,chaos,-520364,-515850,-516050,-515650,4514,4514,0 +7152,chaos,-520364,-521630,-521830,-521430,1266,-1266,0 +7153,chaos,-520364,-516030,-516230,-515830,4334,4334,0 +7154,chaos,-520364,-522670,-522870,-522470,2306,-2306,0 +7155,chaos,-520364,-521720,-521920,-521520,1356,-1356,0 +7156,chaos,-520364,-524390,-524590,-524190,4026,-4026,0 +7157,chaos,-520364,-517440,-517640,-517240,2924,2924,0 +7158,chaos,-520364,-524110,-524310,-523910,3746,-3746,0 +7159,chaos,-520364,-518190,-518390,-517990,2174,2174,0 +7160,chaos,-520364,-516210,-516410,-516010,4154,4154,0 +7161,chaos,-520364,-518970,-519170,-518770,1394,1394,0 +7162,chaos,-520364,-524630,-524830,-524430,4266,-4266,0 +7163,chaos,-520364,-517140,-517340,-516940,3224,3224,0 +7164,chaos,-520364,-525280,-525480,-525080,4916,-4916,0 +7165,chaos,-520364,-517330,-517530,-517130,3034,3034,0 +7166,chaos,-520364,-516130,-516330,-515930,4234,4234,0 +7167,chaos,-520364,-517710,-517910,-517510,2654,2654,0 +7168,chaos,-520364,-520410,-520610,-520210,46,-46,0.875 +7169,chaos,-520364,-519080,-519280,-518880,1284,1284,0 +7170,chaos,-520364,-524720,-524920,-524520,4356,-4356,0 +7171,chaos,-520364,-522870,-523070,-522670,2506,-2506,0 +7172,chaos,-520364,-521150,-521350,-520950,786,-786,0 +7173,chaos,-520364,-520570,-520770,-520370,206,-206,0.475 +7174,chaos,-520364,-516380,-516580,-516180,3984,3984,0 +7175,chaos,-520364,-518430,-518630,-518230,1934,1934,0 +7176,chaos,-520364,-516260,-516460,-516060,4104,4104,0 +7177,chaos,-520364,-522950,-523150,-522750,2586,-2586,0 +7178,chaos,-520364,-516370,-516570,-516170,3994,3994,0 +7179,chaos,-520364,-517610,-517810,-517410,2754,2754,0 +7180,chaos,-520364,-520110,-520310,-519910,254,254,0.375 +7181,chaos,-520364,-522750,-522950,-522550,2386,-2386,0 +7182,chaos,-520364,-520430,-520630,-520230,66,-66,0.825 +7183,chaos,-520364,-520280,-520480,-520080,84,84,0.8 +7184,chaos,-520364,-521260,-521460,-521060,896,-896,0 +7185,chaos,-520364,-519970,-520170,-519770,394,394,0.025 +7186,chaos,-520364,-522050,-522250,-521850,1686,-1686,0 +7187,chaos,-520364,-518740,-518940,-518540,1624,1624,0 +7188,chaos,-520364,-519690,-519890,-519490,674,674,0 +7189,chaos,-520364,-517700,-517900,-517500,2664,2664,0 +7190,chaos,-520364,-525040,-525240,-524840,4676,-4676,0 +7191,chaos,-520364,-524490,-524690,-524290,4126,-4126,0 +7192,chaos,-520364,-518940,-519140,-518740,1424,1424,0 +7193,chaos,-520364,-525310,-525510,-525110,4946,-4946,0 +7194,chaos,-520364,-518550,-518750,-518350,1814,1814,0 +7195,chaos,-520364,-524610,-524810,-524410,4246,-4246,0 +7196,chaos,-520364,-524960,-525160,-524760,4596,-4596,0 +7197,chaos,-520364,-519440,-519640,-519240,924,924,0 +7198,chaos,-520364,-523550,-523750,-523350,3186,-3186,0 +7199,chaos,-520364,-516010,-516210,-515810,4354,4354,0 +7200,chaos,-520364,-525080,-525280,-524880,4716,-4716,0 +7201,chaos,-520364,-520860,-521060,-520660,496,-496,0 +7202,chaos,-520364,-524880,-525080,-524680,4516,-4516,0 +7203,chaos,-520364,-520240,-520440,-520040,124,124,0.7 +7204,chaos,-520364,-517240,-517440,-517040,3124,3124,0 +7205,chaos,-520364,-524570,-524770,-524370,4206,-4206,0 +7206,chaos,-520364,-517680,-517880,-517480,2684,2684,0 +7207,chaos,-520364,-518130,-518330,-517930,2234,2234,0 +7208,chaos,-520364,-518240,-518440,-518040,2124,2124,0 +7209,chaos,-520364,-524490,-524690,-524290,4126,-4126,0 +7210,chaos,-520364,-519370,-519570,-519170,994,994,0 +7211,chaos,-520364,-521160,-521360,-520960,796,-796,0 +7212,chaos,-520364,-523100,-523300,-522900,2736,-2736,0 +7213,chaos,-520364,-517580,-517780,-517380,2784,2784,0 +7214,chaos,-520364,-521020,-521220,-520820,656,-656,0 +7215,chaos,-520364,-521410,-521610,-521210,1046,-1046,0 +7216,chaos,-520364,-521970,-522170,-521770,1606,-1606,0 +7217,chaos,-520364,-516230,-516430,-516030,4134,4134,0 +7218,chaos,-520364,-516190,-516390,-515990,4174,4174,0 +7219,chaos,-520364,-517170,-517370,-516970,3194,3194,0 +7220,chaos,-520364,-521890,-522090,-521690,1526,-1526,0 +7221,chaos,-520364,-523460,-523660,-523260,3096,-3096,0 +7222,chaos,-520364,-516660,-516860,-516460,3704,3704,0 +7223,chaos,-520364,-517770,-517970,-517570,2594,2594,0 +7224,chaos,-520364,-515640,-515840,-515440,4724,4724,0 +7225,chaos,-520364,-515830,-516030,-515630,4534,4534,0 +7226,chaos,-520364,-518060,-518260,-517860,2304,2304,0 +7227,chaos,-520364,-517390,-517590,-517190,2974,2974,0 +7228,chaos,-520364,-519870,-520070,-519670,494,494,0 +7229,chaos,-520364,-519240,-519440,-519040,1124,1124,0 +7230,chaos,-520364,-515750,-515950,-515550,4614,4614,0 +7231,chaos,-520364,-523770,-523970,-523570,3406,-3406,0 +7232,chaos,-520364,-516590,-516790,-516390,3774,3774,0 +7233,chaos,-520364,-520500,-520700,-520300,136,-136,0.65 +7234,chaos,-520364,-521880,-522080,-521680,1516,-1516,0 +7235,chaos,-520364,-520280,-520480,-520080,84,84,0.8 +7236,chaos,-520364,-521580,-521780,-521380,1216,-1216,0 +7237,chaos,-520364,-522650,-522850,-522450,2286,-2286,0 +7238,chaos,-520364,-515830,-516030,-515630,4534,4534,0 +7239,chaos,-520364,-523540,-523740,-523340,3176,-3176,0 +7240,chaos,-520364,-518500,-518700,-518300,1864,1864,0 +7241,chaos,-520364,-517080,-517280,-516880,3284,3284,0 +7242,chaos,-520364,-521280,-521480,-521080,916,-916,0 +7243,chaos,-520364,-515770,-515970,-515570,4594,4594,0 +7244,chaos,-520364,-517410,-517610,-517210,2954,2954,0 +7245,chaos,-520364,-523770,-523970,-523570,3406,-3406,0 +7246,chaos,-520364,-524810,-525010,-524610,4446,-4446,0 +7247,chaos,-520364,-519180,-519380,-518980,1184,1184,0 +7248,chaos,-520364,-522420,-522620,-522220,2056,-2056,0 +7249,chaos,-520364,-522530,-522730,-522330,2166,-2166,0 +7250,chaos,-520364,-521780,-521980,-521580,1416,-1416,0 +7251,chaos,-520364,-522360,-522560,-522160,1996,-1996,0 +7252,chaos,-520364,-524600,-524800,-524400,4236,-4236,0 +7253,chaos,-520364,-521860,-522060,-521660,1496,-1496,0 +7254,chaos,-520364,-518650,-518850,-518450,1714,1714,0 +7255,chaos,-520364,-523230,-523430,-523030,2866,-2866,0 +7256,chaos,-520364,-517220,-517420,-517020,3144,3144,0 +7257,chaos,-520364,-516060,-516260,-515860,4304,4304,0 +7258,chaos,-520364,-519390,-519590,-519190,974,974,0 +7259,chaos,-520364,-523700,-523900,-523500,3336,-3336,0 +7260,chaos,-520364,-521090,-521290,-520890,726,-726,0 +7261,chaos,-520364,-516250,-516450,-516050,4114,4114,0 +7262,chaos,-520364,-524990,-525190,-524790,4626,-4626,0 +7263,chaos,-520364,-519240,-519440,-519040,1124,1124,0 +7264,chaos,-520364,-517480,-517680,-517280,2884,2884,0 +7265,chaos,-520364,-524450,-524650,-524250,4086,-4086,0 +7266,chaos,-520364,-521790,-521990,-521590,1426,-1426,0 +7267,chaos,-520364,-518860,-519060,-518660,1504,1504,0 +7268,chaos,-520364,-521290,-521490,-521090,926,-926,0 +7269,chaos,-520364,-523460,-523660,-523260,3096,-3096,0 +7270,chaos,-520364,-518060,-518260,-517860,2304,2304,0 +7271,chaos,-520364,-518570,-518770,-518370,1794,1794,0 +7272,chaos,-520364,-516910,-517110,-516710,3454,3454,0 +7273,chaos,-520364,-520390,-520590,-520190,26,-26,0.925 +7274,chaos,-520364,-524360,-524560,-524160,3996,-3996,0 +7275,chaos,-520364,-521710,-521910,-521510,1346,-1346,0 +7276,chaos,-520364,-520880,-521080,-520680,516,-516,0 +7277,chaos,-520364,-523000,-523200,-522800,2636,-2636,0 +7278,chaos,-520364,-521030,-521230,-520830,666,-666,0 +7279,chaos,-520364,-519250,-519450,-519050,1114,1114,0 +7280,chaos,-520364,-518620,-518820,-518420,1744,1744,0 +7281,chaos,-520364,-516740,-516940,-516540,3624,3624,0 +7282,chaos,-520364,-519390,-519590,-519190,974,974,0 +7283,chaos,-520364,-524720,-524920,-524520,4356,-4356,0 +7284,chaos,-520364,-522690,-522890,-522490,2326,-2326,0 +7285,chaos,-520364,-518530,-518730,-518330,1834,1834,0 +7286,chaos,-520364,-522010,-522210,-521810,1646,-1646,0 +7287,chaos,-520364,-524560,-524760,-524360,4196,-4196,0 +7288,chaos,-520364,-519700,-519900,-519500,664,664,0 +7289,chaos,-520364,-520380,-520580,-520180,16,-16,0.95 +7290,chaos,-520364,-522660,-522860,-522460,2296,-2296,0 +7291,chaos,-520364,-523540,-523740,-523340,3176,-3176,0 +7292,chaos,-520364,-516300,-516500,-516100,4064,4064,0 +7293,chaos,-520364,-516470,-516670,-516270,3894,3894,0 +7294,chaos,-520364,-521650,-521850,-521450,1286,-1286,0 +7295,chaos,-520364,-519080,-519280,-518880,1284,1284,0 +7296,chaos,-520364,-523990,-524190,-523790,3626,-3626,0 +7297,chaos,-520364,-517350,-517550,-517150,3014,3014,0 +7298,chaos,-520364,-525270,-525470,-525070,4906,-4906,0 +7299,chaos,-520364,-524500,-524700,-524300,4136,-4136,0 +7300,chaos,-520364,-524700,-524900,-524500,4336,-4336,0 +7301,chaos,-520364,-516970,-517170,-516770,3394,3394,0 +7302,chaos,-520364,-520820,-521020,-520620,456,-456,0 +7303,chaos,-520364,-520300,-520500,-520100,64,64,0.85 +7304,chaos,-520364,-518920,-519120,-518720,1444,1444,0 +7305,chaos,-520364,-523670,-523870,-523470,3306,-3306,0 +7306,chaos,-520364,-523660,-523860,-523460,3296,-3296,0 +7307,chaos,-520364,-521720,-521920,-521520,1356,-1356,0 +7308,chaos,-520364,-519780,-519980,-519580,584,584,0 +7309,chaos,-520364,-521750,-521950,-521550,1386,-1386,0 +7310,chaos,-520364,-523580,-523780,-523380,3216,-3216,0 +7311,chaos,-520364,-518220,-518420,-518020,2144,2144,0 +7312,chaos,-520364,-515590,-515790,-515390,4774,4774,0 +7313,chaos,-520364,-517190,-517390,-516990,3174,3174,0 +7314,chaos,-520364,-517830,-518030,-517630,2534,2534,0 +7315,chaos,-520364,-515620,-515820,-515420,4744,4744,0 +7316,chaos,-520364,-515960,-516160,-515760,4404,4404,0 +7317,chaos,-520364,-517520,-517720,-517320,2844,2844,0 +7318,chaos,-520364,-517050,-517250,-516850,3314,3314,0 +7319,chaos,-520364,-525220,-525420,-525020,4856,-4856,0 +7320,chaos,-520364,-525170,-525370,-524970,4806,-4806,0 +7321,chaos,-520364,-518070,-518270,-517870,2294,2294,0 +7322,chaos,-520364,-515920,-516120,-515720,4444,4444,0 +7323,chaos,-520364,-519280,-519480,-519080,1084,1084,0 +7324,chaos,-520364,-518000,-518200,-517800,2364,2364,0 +7325,chaos,-520364,-520880,-521080,-520680,516,-516,0 +7326,chaos,-520364,-518630,-518830,-518430,1734,1734,0 +7327,chaos,-520364,-524130,-524330,-523930,3766,-3766,0 +7328,chaos,-520364,-523530,-523730,-523330,3166,-3166,0 +7329,chaos,-520364,-516620,-516820,-516420,3744,3744,0 +7330,chaos,-520364,-524350,-524550,-524150,3986,-3986,0 +7331,chaos,-520364,-525110,-525310,-524910,4746,-4746,0 +7332,chaos,-520364,-523010,-523210,-522810,2646,-2646,0 +7333,chaos,-520364,-519350,-519550,-519150,1014,1014,0 +7334,chaos,-520364,-522550,-522750,-522350,2186,-2186,0 +7335,chaos,-520364,-519050,-519250,-518850,1314,1314,0 +7336,chaos,-520364,-516800,-517000,-516600,3564,3564,0 +7337,chaos,-520364,-518700,-518900,-518500,1664,1664,0 +7338,chaos,-520364,-523880,-524080,-523680,3516,-3516,0 +7339,chaos,-520364,-523280,-523480,-523080,2916,-2916,0 +7340,chaos,-520364,-524630,-524830,-524430,4266,-4266,0 +7341,chaos,-520364,-522470,-522670,-522270,2106,-2106,0 +7342,chaos,-520364,-516160,-516360,-515960,4204,4204,0 +7343,chaos,-520364,-522310,-522510,-522110,1946,-1946,0 +7344,chaos,-520364,-521600,-521800,-521400,1236,-1236,0 +7345,chaos,-520364,-521220,-521420,-521020,856,-856,0 +7346,chaos,-520364,-519210,-519410,-519010,1154,1154,0 +7347,chaos,-520364,-524920,-525120,-524720,4556,-4556,0 +7348,chaos,-520364,-516960,-517160,-516760,3404,3404,0 +7349,chaos,-520364,-523140,-523340,-522940,2776,-2776,0 +7350,chaos,-520364,-524190,-524390,-523990,3826,-3826,0 +7351,chaos,-520364,-523880,-524080,-523680,3516,-3516,0 +7352,chaos,-520364,-521250,-521450,-521050,886,-886,0 +7353,chaos,-520364,-521970,-522170,-521770,1606,-1606,0 +7354,chaos,-520364,-516550,-516750,-516350,3814,3814,0 +7355,chaos,-520364,-516030,-516230,-515830,4334,4334,0 +7356,chaos,-520364,-519140,-519340,-518940,1224,1224,0 +7357,chaos,-520364,-518940,-519140,-518740,1424,1424,0 +7358,chaos,-520364,-519390,-519590,-519190,974,974,0 +7359,chaos,-520364,-524370,-524570,-524170,4006,-4006,0 +7360,chaos,-520364,-521390,-521590,-521190,1026,-1026,0 +7361,chaos,-520364,-516000,-516200,-515800,4364,4364,0 +7362,chaos,-520364,-515660,-515860,-515460,4704,4704,0 +7363,chaos,-520364,-517500,-517700,-517300,2864,2864,0 +7364,chaos,-520364,-522720,-522920,-522520,2356,-2356,0 +7365,chaos,-520364,-516480,-516680,-516280,3884,3884,0 +7366,chaos,-520364,-519420,-519620,-519220,944,944,0 +7367,chaos,-520364,-520360,-520560,-520160,4,4,1 +7368,chaos,-520364,-522470,-522670,-522270,2106,-2106,0 +7369,chaos,-520364,-522680,-522880,-522480,2316,-2316,0 +7370,chaos,-520364,-518360,-518560,-518160,2004,2004,0 +7371,chaos,-520364,-518260,-518460,-518060,2104,2104,0 +7372,chaos,-520364,-520480,-520680,-520280,116,-116,0.7 +7373,chaos,-520364,-522470,-522670,-522270,2106,-2106,0 +7374,chaos,-520364,-516140,-516340,-515940,4224,4224,0 +7375,chaos,-520364,-520120,-520320,-519920,244,244,0.4 +7376,chaos,-520364,-525320,-525520,-525120,4956,-4956,0 +7377,chaos,-520364,-524070,-524270,-523870,3706,-3706,0 +7378,chaos,-520364,-521660,-521860,-521460,1296,-1296,0 +7379,chaos,-520364,-519090,-519290,-518890,1274,1274,0 +7380,chaos,-520364,-519270,-519470,-519070,1094,1094,0 +7381,chaos,-520364,-519700,-519900,-519500,664,664,0 +7382,chaos,-520364,-519700,-519900,-519500,664,664,0 +7383,chaos,-520364,-521250,-521450,-521050,886,-886,0 +7384,chaos,-520364,-524820,-525020,-524620,4456,-4456,0 +7385,chaos,-520364,-520250,-520450,-520050,114,114,0.725 +7386,chaos,-520364,-522710,-522910,-522510,2346,-2346,0 +7387,chaos,-520364,-516800,-517000,-516600,3564,3564,0 +7388,chaos,-520364,-524390,-524590,-524190,4026,-4026,0 +7389,chaos,-520364,-523500,-523700,-523300,3136,-3136,0 +7390,chaos,-520364,-515950,-516150,-515750,4414,4414,0 +7391,chaos,-520364,-521130,-521330,-520930,766,-766,0 +7392,chaos,-520364,-517620,-517820,-517420,2744,2744,0 +7393,chaos,-520364,-520480,-520680,-520280,116,-116,0.7 +7394,chaos,-520364,-521590,-521790,-521390,1226,-1226,0 +7395,chaos,-520364,-516300,-516500,-516100,4064,4064,0 +7396,chaos,-520364,-515430,-515630,-515230,4934,4934,0 +7397,chaos,-520364,-521310,-521510,-521110,946,-946,0 +7398,chaos,-520364,-518480,-518680,-518280,1884,1884,0 +7399,chaos,-520364,-521260,-521460,-521060,896,-896,0 +7400,chaos,-520364,-521550,-521750,-521350,1186,-1186,0 +7401,chaos,-520364,-521520,-521720,-521320,1156,-1156,0 +7402,chaos,-520364,-519510,-519710,-519310,854,854,0 +7403,chaos,-520364,-519830,-520030,-519630,534,534,0 +7404,chaos,-520364,-523840,-524040,-523640,3476,-3476,0 +7405,chaos,-520364,-516400,-516600,-516200,3964,3964,0 +7406,chaos,-520364,-519580,-519780,-519380,784,784,0 +7407,chaos,-520364,-516040,-516240,-515840,4324,4324,0 +7408,chaos,-520364,-517810,-518010,-517610,2554,2554,0 +7409,chaos,-520364,-522270,-522470,-522070,1906,-1906,0 +7410,chaos,-520364,-523110,-523310,-522910,2746,-2746,0 +7411,chaos,-520364,-521300,-521500,-521100,936,-936,0 +7412,chaos,-520364,-518390,-518590,-518190,1974,1974,0 +7413,chaos,-520364,-518020,-518220,-517820,2344,2344,0 +7414,chaos,-520364,-521800,-522000,-521600,1436,-1436,0 +7415,chaos,-520364,-515520,-515720,-515320,4844,4844,0 +7416,chaos,-520364,-522400,-522600,-522200,2036,-2036,0 +7417,chaos,-520364,-523350,-523550,-523150,2986,-2986,0 +7418,chaos,-520364,-515840,-516040,-515640,4524,4524,0 +7419,chaos,-520364,-517750,-517950,-517550,2614,2614,0 +7420,chaos,-520364,-524460,-524660,-524260,4096,-4096,0 +7421,chaos,-520364,-523330,-523530,-523130,2966,-2966,0 +7422,chaos,-520364,-520590,-520790,-520390,226,-226,0.425 +7423,chaos,-520364,-517920,-518120,-517720,2444,2444,0 +7424,chaos,-520364,-515810,-516010,-515610,4554,4554,0 +7425,chaos,-520364,-524740,-524940,-524540,4376,-4376,0 +7426,chaos,-520364,-520960,-521160,-520760,596,-596,0 +7427,chaos,-520364,-515730,-515930,-515530,4634,4634,0 +7428,chaos,-520364,-523250,-523450,-523050,2886,-2886,0 +7429,chaos,-520364,-516880,-517080,-516680,3484,3484,0 +7430,chaos,-520364,-518110,-518310,-517910,2254,2254,0 +7431,chaos,-520364,-521380,-521580,-521180,1016,-1016,0 +7432,chaos,-520364,-518020,-518220,-517820,2344,2344,0 +7433,chaos,-520364,-517610,-517810,-517410,2754,2754,0 +7434,chaos,-520364,-521680,-521880,-521480,1316,-1316,0 +7435,chaos,-520364,-520000,-520200,-519800,364,364,0.1 +7436,chaos,-520364,-521730,-521930,-521530,1366,-1366,0 +7437,chaos,-520364,-519660,-519860,-519460,704,704,0 +7438,chaos,-520364,-523130,-523330,-522930,2766,-2766,0 +7439,chaos,-520364,-519700,-519900,-519500,664,664,0 +7440,chaos,-520364,-521570,-521770,-521370,1206,-1206,0 +7441,chaos,-520364,-516630,-516830,-516430,3734,3734,0 +7442,chaos,-520364,-523220,-523420,-523020,2856,-2856,0 +7443,chaos,-520364,-516480,-516680,-516280,3884,3884,0 +7444,chaos,-520364,-516660,-516860,-516460,3704,3704,0 +7445,chaos,-520364,-523330,-523530,-523130,2966,-2966,0 +7446,chaos,-520364,-515470,-515670,-515270,4894,4894,0 +7447,chaos,-520364,-518240,-518440,-518040,2124,2124,0 +7448,chaos,-520364,-522430,-522630,-522230,2066,-2066,0 +7449,chaos,-520364,-518950,-519150,-518750,1414,1414,0 +7450,chaos,-520364,-525310,-525510,-525110,4946,-4946,0 +7451,chaos,-520364,-518600,-518800,-518400,1764,1764,0 +7452,chaos,-520364,-523410,-523610,-523210,3046,-3046,0 +7453,chaos,-520364,-520840,-521040,-520640,476,-476,0 +7454,chaos,-520364,-516320,-516520,-516120,4044,4044,0 +7455,chaos,-520364,-522520,-522720,-522320,2156,-2156,0 +7456,chaos,-520364,-520700,-520900,-520500,336,-336,0.15 +7457,chaos,-520364,-519470,-519670,-519270,894,894,0 +7458,chaos,-520364,-518790,-518990,-518590,1574,1574,0 +7459,chaos,-520364,-521190,-521390,-520990,826,-826,0 +7460,chaos,-520364,-516670,-516870,-516470,3694,3694,0 +7461,chaos,-520364,-519420,-519620,-519220,944,944,0 +7462,chaos,-520364,-520670,-520870,-520470,306,-306,0.225 +7463,chaos,-520364,-519090,-519290,-518890,1274,1274,0 +7464,chaos,-520364,-521660,-521860,-521460,1296,-1296,0 +7465,chaos,-520364,-524560,-524760,-524360,4196,-4196,0 +7466,chaos,-520364,-517770,-517970,-517570,2594,2594,0 +7467,chaos,-520364,-516820,-517020,-516620,3544,3544,0 +7468,chaos,-520364,-515450,-515650,-515250,4914,4914,0 +7469,chaos,-520364,-517280,-517480,-517080,3084,3084,0 +7470,chaos,-520364,-524200,-524400,-524000,3836,-3836,0 +7471,chaos,-520364,-518760,-518960,-518560,1604,1604,0 +7472,chaos,-520364,-519000,-519200,-518800,1364,1364,0 +7473,chaos,-520364,-516110,-516310,-515910,4254,4254,0 +7474,chaos,-520364,-524300,-524500,-524100,3936,-3936,0 +7475,chaos,-520364,-519260,-519460,-519060,1104,1104,0 +7476,chaos,-520364,-519200,-519400,-519000,1164,1164,0 +7477,chaos,-520364,-524740,-524940,-524540,4376,-4376,0 +7478,chaos,-520364,-520580,-520780,-520380,216,-216,0.45 +7479,chaos,-520364,-517810,-518010,-517610,2554,2554,0 +7480,chaos,-520364,-518130,-518330,-517930,2234,2234,0 +7481,chaos,-520364,-524830,-525030,-524630,4466,-4466,0 +7482,chaos,-520364,-517550,-517750,-517350,2814,2814,0 +7483,chaos,-520364,-523320,-523520,-523120,2956,-2956,0 +7484,chaos,-520364,-516240,-516440,-516040,4124,4124,0 +7485,chaos,-520364,-518380,-518580,-518180,1984,1984,0 +7486,chaos,-520364,-520090,-520290,-519890,274,274,0.325 +7487,chaos,-520364,-518680,-518880,-518480,1684,1684,0 +7488,chaos,-520364,-520520,-520720,-520320,156,-156,0.6 +7489,chaos,-520364,-516330,-516530,-516130,4034,4034,0 +7490,chaos,-520364,-515670,-515870,-515470,4694,4694,0 +7491,chaos,-520364,-524180,-524380,-523980,3816,-3816,0 +7492,chaos,-520364,-523090,-523290,-522890,2726,-2726,0 +7493,chaos,-520364,-518500,-518700,-518300,1864,1864,0 +7494,chaos,-520364,-520300,-520500,-520100,64,64,0.85 +7495,chaos,-520364,-520450,-520650,-520250,86,-86,0.775 +7496,chaos,-520364,-520450,-520650,-520250,86,-86,0.775 +7497,chaos,-520364,-519000,-519200,-518800,1364,1364,0 +7498,chaos,-520364,-524920,-525120,-524720,4556,-4556,0 +7499,chaos,-520364,-519800,-520000,-519600,564,564,0 +7500,chaos,-520364,-518550,-518750,-518350,1814,1814,0 +7501,chaos,-520364,-518640,-518840,-518440,1724,1724,0 +7502,chaos,-520364,-519500,-519700,-519300,864,864,0 +7503,chaos,-520364,-521430,-521630,-521230,1066,-1066,0 +7504,chaos,-520364,-523180,-523380,-522980,2816,-2816,0 +7505,chaos,-520364,-515940,-516140,-515740,4424,4424,0 +7506,chaos,-520364,-522360,-522560,-522160,1996,-1996,0 +7507,chaos,-520364,-520350,-520550,-520150,14,14,0.975 +7508,chaos,-520364,-521300,-521500,-521100,936,-936,0 +7509,chaos,-520364,-520080,-520280,-519880,284,284,0.3 +7510,chaos,-520364,-524320,-524520,-524120,3956,-3956,0 +7511,chaos,-520364,-520730,-520930,-520530,366,-366,0.075 +7512,chaos,-520364,-520260,-520460,-520060,104,104,0.75 +7513,chaos,-520364,-516900,-517100,-516700,3464,3464,0 +7514,chaos,-520364,-520880,-521080,-520680,516,-516,0 +7515,chaos,-520364,-523560,-523760,-523360,3196,-3196,0 +7516,chaos,-520364,-524600,-524800,-524400,4236,-4236,0 +7517,chaos,-520364,-524610,-524810,-524410,4246,-4246,0 +7518,chaos,-520364,-517390,-517590,-517190,2974,2974,0 +7519,chaos,-520364,-515800,-516000,-515600,4564,4564,0 +7520,chaos,-520364,-523490,-523690,-523290,3126,-3126,0 +7521,chaos,-520364,-516800,-517000,-516600,3564,3564,0 +7522,chaos,-520364,-517950,-518150,-517750,2414,2414,0 +7523,chaos,-520364,-515800,-516000,-515600,4564,4564,0 +7524,chaos,-520364,-524290,-524490,-524090,3926,-3926,0 +7525,chaos,-520364,-518180,-518380,-517980,2184,2184,0 +7526,chaos,-520364,-521260,-521460,-521060,896,-896,0 +7527,chaos,-520364,-520120,-520320,-519920,244,244,0.4 +7528,chaos,-520364,-521680,-521880,-521480,1316,-1316,0 +7529,chaos,-520364,-521670,-521870,-521470,1306,-1306,0 +7530,chaos,-520364,-519980,-520180,-519780,384,384,0.05 +7531,chaos,-520364,-516720,-516920,-516520,3644,3644,0 +7532,chaos,-520364,-516160,-516360,-515960,4204,4204,0 +7533,chaos,-520364,-523280,-523480,-523080,2916,-2916,0 +7534,chaos,-520364,-517400,-517600,-517200,2964,2964,0 +7535,chaos,-520364,-523830,-524030,-523630,3466,-3466,0 +7536,chaos,-520364,-516840,-517040,-516640,3524,3524,0 +7537,chaos,-520364,-524610,-524810,-524410,4246,-4246,0 +7538,chaos,-520364,-524230,-524430,-524030,3866,-3866,0 +7539,chaos,-520364,-519340,-519540,-519140,1024,1024,0 +7540,chaos,-520364,-524780,-524980,-524580,4416,-4416,0 +7541,chaos,-520364,-520310,-520510,-520110,54,54,0.875 +7542,chaos,-520364,-519070,-519270,-518870,1294,1294,0 +7543,chaos,-520364,-521650,-521850,-521450,1286,-1286,0 +7544,chaos,-520364,-515900,-516100,-515700,4464,4464,0 +7545,chaos,-520364,-520380,-520580,-520180,16,-16,0.95 +7546,chaos,-520364,-521210,-521410,-521010,846,-846,0 +7547,chaos,-520364,-515690,-515890,-515490,4674,4674,0 +7548,chaos,-520364,-516680,-516880,-516480,3684,3684,0 +7549,chaos,-520364,-520080,-520280,-519880,284,284,0.3 +7550,chaos,-520364,-516530,-516730,-516330,3834,3834,0 +7551,chaos,-520364,-516170,-516370,-515970,4194,4194,0 +7552,chaos,-520364,-518300,-518500,-518100,2064,2064,0 +7553,chaos,-520364,-517860,-518060,-517660,2504,2504,0 +7554,chaos,-520364,-519180,-519380,-518980,1184,1184,0 +7555,chaos,-520364,-525330,-525530,-525130,4966,-4966,0 +7556,chaos,-520364,-521570,-521770,-521370,1206,-1206,0 +7557,chaos,-520364,-521900,-522100,-521700,1536,-1536,0 +7558,chaos,-520364,-523470,-523670,-523270,3106,-3106,0 +7559,chaos,-520364,-524650,-524850,-524450,4286,-4286,0 +7560,chaos,-520364,-523330,-523530,-523130,2966,-2966,0 +7561,chaos,-520364,-517630,-517830,-517430,2734,2734,0 +7562,chaos,-520364,-521800,-522000,-521600,1436,-1436,0 +7563,chaos,-520364,-517530,-517730,-517330,2834,2834,0 +7564,chaos,-520364,-522240,-522440,-522040,1876,-1876,0 +7565,chaos,-520364,-517260,-517460,-517060,3104,3104,0 +7566,chaos,-520364,-523530,-523730,-523330,3166,-3166,0 +7567,chaos,-520364,-515800,-516000,-515600,4564,4564,0 +7568,chaos,-520364,-522540,-522740,-522340,2176,-2176,0 +7569,chaos,-520364,-519650,-519850,-519450,714,714,0 +7570,chaos,-520364,-523060,-523260,-522860,2696,-2696,0 +7571,chaos,-520364,-519220,-519420,-519020,1144,1144,0 +7572,chaos,-520364,-521400,-521600,-521200,1036,-1036,0 +7573,chaos,-520364,-519890,-520090,-519690,474,474,0 +7574,chaos,-520364,-516870,-517070,-516670,3494,3494,0 +7575,chaos,-520364,-525200,-525400,-525000,4836,-4836,0 +7576,chaos,-520364,-520900,-521100,-520700,536,-536,0 +7577,chaos,-520364,-522510,-522710,-522310,2146,-2146,0 +7578,chaos,-520364,-524160,-524360,-523960,3796,-3796,0 +7579,chaos,-520364,-518060,-518260,-517860,2304,2304,0 +7580,chaos,-520364,-521690,-521890,-521490,1326,-1326,0 +7581,chaos,-520364,-521190,-521390,-520990,826,-826,0 +7582,chaos,-520364,-522220,-522420,-522020,1856,-1856,0 +7583,chaos,-520364,-521530,-521730,-521330,1166,-1166,0 +7584,chaos,-520364,-520780,-520980,-520580,416,-416,0 +7585,chaos,-520364,-524420,-524620,-524220,4056,-4056,0 +7586,chaos,-520364,-525040,-525240,-524840,4676,-4676,0 +7587,chaos,-520364,-523850,-524050,-523650,3486,-3486,0 +7588,chaos,-520364,-517910,-518110,-517710,2454,2454,0 +7589,chaos,-520364,-523970,-524170,-523770,3606,-3606,0 +7590,chaos,-520364,-518520,-518720,-518320,1844,1844,0 +7591,chaos,-520364,-522970,-523170,-522770,2606,-2606,0 +7592,chaos,-520364,-522410,-522610,-522210,2046,-2046,0 +7593,chaos,-520364,-519840,-520040,-519640,524,524,0 +7594,chaos,-520364,-518040,-518240,-517840,2324,2324,0 +7595,chaos,-520364,-517980,-518180,-517780,2384,2384,0 +7596,chaos,-520364,-524780,-524980,-524580,4416,-4416,0 +7597,chaos,-520364,-519140,-519340,-518940,1224,1224,0 +7598,chaos,-520364,-517740,-517940,-517540,2624,2624,0 +7599,chaos,-520364,-515700,-515900,-515500,4664,4664,0 +7600,chaos,-520364,-517410,-517610,-517210,2954,2954,0 +7601,chaos,-520364,-525000,-525200,-524800,4636,-4636,0 +7602,chaos,-520364,-520570,-520770,-520370,206,-206,0.475 +7603,chaos,-520364,-519680,-519880,-519480,684,684,0 +7604,chaos,-520364,-523300,-523500,-523100,2936,-2936,0 +7605,chaos,-520364,-521300,-521500,-521100,936,-936,0 +7606,chaos,-520364,-517280,-517480,-517080,3084,3084,0 +7607,chaos,-520364,-515860,-516060,-515660,4504,4504,0 +7608,chaos,-520364,-515440,-515640,-515240,4924,4924,0 +7609,chaos,-520364,-523360,-523560,-523160,2996,-2996,0 +7610,chaos,-520364,-524040,-524240,-523840,3676,-3676,0 +7611,chaos,-520364,-522090,-522290,-521890,1726,-1726,0 +7612,chaos,-520364,-524250,-524450,-524050,3886,-3886,0 +7613,chaos,-520364,-521640,-521840,-521440,1276,-1276,0 +7614,chaos,-520364,-519840,-520040,-519640,524,524,0 +7615,chaos,-520364,-523250,-523450,-523050,2886,-2886,0 +7616,chaos,-520364,-521910,-522110,-521710,1546,-1546,0 +7617,chaos,-520364,-521850,-522050,-521650,1486,-1486,0 +7618,chaos,-520364,-523910,-524110,-523710,3546,-3546,0 +7619,chaos,-520364,-523810,-524010,-523610,3446,-3446,0 +7620,chaos,-520364,-519920,-520120,-519720,444,444,0 +7621,chaos,-520364,-523580,-523780,-523380,3216,-3216,0 +7622,chaos,-520364,-523710,-523910,-523510,3346,-3346,0 +7623,chaos,-520364,-516140,-516340,-515940,4224,4224,0 +7624,chaos,-520364,-523120,-523320,-522920,2756,-2756,0 +7625,chaos,-520364,-518890,-519090,-518690,1474,1474,0 +7626,chaos,-520364,-525350,-525550,-525150,4986,-4986,0 +7627,chaos,-520364,-524200,-524400,-524000,3836,-3836,0 +7628,chaos,-520364,-521030,-521230,-520830,666,-666,0 +7629,chaos,-520364,-524250,-524450,-524050,3886,-3886,0 +7630,chaos,-520364,-523350,-523550,-523150,2986,-2986,0 +7631,chaos,-520364,-524070,-524270,-523870,3706,-3706,0 +7632,chaos,-520364,-521890,-522090,-521690,1526,-1526,0 +7633,chaos,-520364,-523790,-523990,-523590,3426,-3426,0 +7634,chaos,-520364,-520900,-521100,-520700,536,-536,0 +7635,chaos,-520364,-520150,-520350,-519950,214,214,0.475 +7636,chaos,-520364,-521720,-521920,-521520,1356,-1356,0 +7637,chaos,-520364,-524840,-525040,-524640,4476,-4476,0 +7638,chaos,-520364,-521660,-521860,-521460,1296,-1296,0 +7639,chaos,-520364,-520700,-520900,-520500,336,-336,0.15 +7640,chaos,-520364,-523430,-523630,-523230,3066,-3066,0 +7641,chaos,-520364,-516110,-516310,-515910,4254,4254,0 +7642,chaos,-520364,-524810,-525010,-524610,4446,-4446,0 +7643,chaos,-520364,-520770,-520970,-520570,406,-406,0 +7644,chaos,-520364,-524140,-524340,-523940,3776,-3776,0 +7645,chaos,-520364,-519620,-519820,-519420,744,744,0 +7646,chaos,-520364,-521480,-521680,-521280,1116,-1116,0 +7647,chaos,-520364,-518860,-519060,-518660,1504,1504,0 +7648,chaos,-520364,-518780,-518980,-518580,1584,1584,0 +7649,chaos,-520364,-518160,-518360,-517960,2204,2204,0 +7650,chaos,-520364,-518340,-518540,-518140,2024,2024,0 +7651,chaos,-520364,-523940,-524140,-523740,3576,-3576,0 +7652,chaos,-520364,-518140,-518340,-517940,2224,2224,0 +7653,chaos,-520364,-519650,-519850,-519450,714,714,0 +7654,chaos,-520364,-525190,-525390,-524990,4826,-4826,0 +7655,chaos,-520364,-522480,-522680,-522280,2116,-2116,0 +7656,chaos,-520364,-519200,-519400,-519000,1164,1164,0 +7657,chaos,-520364,-521230,-521430,-521030,866,-866,0 +7658,chaos,-520364,-519810,-520010,-519610,554,554,0 +7659,chaos,-520364,-522210,-522410,-522010,1846,-1846,0 +7660,chaos,-520364,-517670,-517870,-517470,2694,2694,0 +7661,chaos,-520364,-515690,-515890,-515490,4674,4674,0 +7662,chaos,-520364,-515950,-516150,-515750,4414,4414,0 +7663,chaos,-520364,-520070,-520270,-519870,294,294,0.275 +7664,chaos,-520364,-520040,-520240,-519840,324,324,0.2 +7665,chaos,-520364,-523930,-524130,-523730,3566,-3566,0 +7666,chaos,-520364,-524030,-524230,-523830,3666,-3666,0 +7667,chaos,-520364,-524330,-524530,-524130,3966,-3966,0 +7668,chaos,-520364,-521510,-521710,-521310,1146,-1146,0 +7669,chaos,-520364,-523780,-523980,-523580,3416,-3416,0 +7670,chaos,-520364,-524320,-524520,-524120,3956,-3956,0 +7671,chaos,-520364,-518360,-518560,-518160,2004,2004,0 +7672,chaos,-520364,-517800,-518000,-517600,2564,2564,0 +7673,chaos,-520364,-518770,-518970,-518570,1594,1594,0 +7674,chaos,-520364,-515670,-515870,-515470,4694,4694,0 +7675,chaos,-520364,-523320,-523520,-523120,2956,-2956,0 +7676,chaos,-520364,-518420,-518620,-518220,1944,1944,0 +7677,chaos,-520364,-523220,-523420,-523020,2856,-2856,0 +7678,chaos,-520364,-522740,-522940,-522540,2376,-2376,0 +7679,chaos,-520364,-520810,-521010,-520610,446,-446,0 +7680,chaos,-520364,-519530,-519730,-519330,834,834,0 +7681,chaos,-520364,-518820,-519020,-518620,1544,1544,0 +7682,chaos,-520364,-521220,-521420,-521020,856,-856,0 +7683,chaos,-520364,-515750,-515950,-515550,4614,4614,0 +7684,chaos,-520364,-517880,-518080,-517680,2484,2484,0 +7685,chaos,-520364,-525350,-525550,-525150,4986,-4986,0 +7686,chaos,-520364,-518580,-518780,-518380,1784,1784,0 +7687,chaos,-520364,-515690,-515890,-515490,4674,4674,0 +7688,chaos,-520364,-524180,-524380,-523980,3816,-3816,0 +7689,chaos,-520364,-515440,-515640,-515240,4924,4924,0 +7690,chaos,-520364,-519170,-519370,-518970,1194,1194,0 +7691,chaos,-520364,-516400,-516600,-516200,3964,3964,0 +7692,chaos,-520364,-523090,-523290,-522890,2726,-2726,0 +7693,chaos,-520364,-518380,-518580,-518180,1984,1984,0 +7694,chaos,-520364,-524150,-524350,-523950,3786,-3786,0 +7695,chaos,-520364,-516380,-516580,-516180,3984,3984,0 +7696,chaos,-520364,-516320,-516520,-516120,4044,4044,0 +7697,chaos,-520364,-525150,-525350,-524950,4786,-4786,0 +7698,chaos,-520364,-522940,-523140,-522740,2576,-2576,0 +7699,chaos,-520364,-519370,-519570,-519170,994,994,0 +7700,chaos,-520364,-524500,-524700,-524300,4136,-4136,0 +7701,chaos,-520364,-517860,-518060,-517660,2504,2504,0 +7702,chaos,-520364,-523390,-523590,-523190,3026,-3026,0 +7703,chaos,-520364,-522220,-522420,-522020,1856,-1856,0 +7704,chaos,-520364,-525360,-525560,-525160,4996,-4996,0 +7705,chaos,-520364,-520450,-520650,-520250,86,-86,0.775 +7706,chaos,-520364,-515600,-515800,-515400,4764,4764,0 +7707,chaos,-520364,-520100,-520300,-519900,264,264,0.35 +7708,chaos,-520364,-519710,-519910,-519510,654,654,0 +7709,chaos,-520364,-517350,-517550,-517150,3014,3014,0 +7710,chaos,-520364,-523910,-524110,-523710,3546,-3546,0 +7711,chaos,-520364,-521610,-521810,-521410,1246,-1246,0 +7712,chaos,-520364,-524050,-524250,-523850,3686,-3686,0 +7713,chaos,-520364,-525180,-525380,-524980,4816,-4816,0 +7714,chaos,-520364,-524500,-524700,-524300,4136,-4136,0 +7715,chaos,-520364,-525280,-525480,-525080,4916,-4916,0 +7716,chaos,-520364,-524960,-525160,-524760,4596,-4596,0 +7717,chaos,-520364,-518290,-518490,-518090,2074,2074,0 +7718,chaos,-520364,-520040,-520240,-519840,324,324,0.2 +7719,chaos,-520364,-524030,-524230,-523830,3666,-3666,0 +7720,chaos,-520364,-517760,-517960,-517560,2604,2604,0 +7721,chaos,-520364,-522740,-522940,-522540,2376,-2376,0 +7722,chaos,-520364,-516060,-516260,-515860,4304,4304,0 +7723,chaos,-520364,-523710,-523910,-523510,3346,-3346,0 +7724,chaos,-520364,-523670,-523870,-523470,3306,-3306,0 +7725,chaos,-520364,-521180,-521380,-520980,816,-816,0 +7726,chaos,-520364,-520950,-521150,-520750,586,-586,0 +7727,chaos,-520364,-518730,-518930,-518530,1634,1634,0 +7728,chaos,-520364,-519590,-519790,-519390,774,774,0 +7729,chaos,-520364,-517200,-517400,-517000,3164,3164,0 +7730,chaos,-520364,-517310,-517510,-517110,3054,3054,0 +7731,chaos,-520364,-522660,-522860,-522460,2296,-2296,0 +7732,chaos,-520364,-518550,-518750,-518350,1814,1814,0 +7733,chaos,-520364,-523030,-523230,-522830,2666,-2666,0 +7734,chaos,-520364,-519140,-519340,-518940,1224,1224,0 +7735,chaos,-520364,-517440,-517640,-517240,2924,2924,0 +7736,chaos,-520364,-521880,-522080,-521680,1516,-1516,0 +7737,chaos,-520364,-516280,-516480,-516080,4084,4084,0 +7738,chaos,-520364,-518200,-518400,-518000,2164,2164,0 +7739,chaos,-520364,-520930,-521130,-520730,566,-566,0 +7740,chaos,-520364,-525170,-525370,-524970,4806,-4806,0 +7741,chaos,-520364,-521820,-522020,-521620,1456,-1456,0 +7742,chaos,-520364,-524280,-524480,-524080,3916,-3916,0 +7743,chaos,-520364,-522970,-523170,-522770,2606,-2606,0 +7744,chaos,-520364,-518640,-518840,-518440,1724,1724,0 +7745,chaos,-520364,-524600,-524800,-524400,4236,-4236,0 +7746,chaos,-520364,-518220,-518420,-518020,2144,2144,0 +7747,chaos,-520364,-523430,-523630,-523230,3066,-3066,0 +7748,chaos,-520364,-523650,-523850,-523450,3286,-3286,0 +7749,chaos,-520364,-519420,-519620,-519220,944,944,0 +7750,chaos,-520364,-524020,-524220,-523820,3656,-3656,0 +7751,chaos,-520364,-521580,-521780,-521380,1216,-1216,0 +7752,chaos,-520364,-524030,-524230,-523830,3666,-3666,0 +7753,chaos,-520364,-524690,-524890,-524490,4326,-4326,0 +7754,chaos,-520364,-524870,-525070,-524670,4506,-4506,0 +7755,chaos,-520364,-522810,-523010,-522610,2446,-2446,0 +7756,chaos,-520364,-518450,-518650,-518250,1914,1914,0 +7757,chaos,-520364,-515910,-516110,-515710,4454,4454,0 +7758,chaos,-520364,-522480,-522680,-522280,2116,-2116,0 +7759,chaos,-520364,-524290,-524490,-524090,3926,-3926,0 +7760,chaos,-520364,-515840,-516040,-515640,4524,4524,0 +7761,chaos,-520364,-522020,-522220,-521820,1656,-1656,0 +7762,chaos,-520364,-520710,-520910,-520510,346,-346,0.125 +7763,chaos,-520364,-520910,-521110,-520710,546,-546,0 +7764,chaos,-520364,-522670,-522870,-522470,2306,-2306,0 +7765,chaos,-520364,-515580,-515780,-515380,4784,4784,0 +7766,chaos,-520364,-518160,-518360,-517960,2204,2204,0 +7767,chaos,-520364,-522570,-522770,-522370,2206,-2206,0 +7768,chaos,-520364,-517280,-517480,-517080,3084,3084,0 +7769,chaos,-520364,-520440,-520640,-520240,76,-76,0.8 +7770,chaos,-520364,-520750,-520950,-520550,386,-386,0.025 +7771,chaos,-520364,-524990,-525190,-524790,4626,-4626,0 +7772,chaos,-520364,-523140,-523340,-522940,2776,-2776,0 +7773,chaos,-520364,-518650,-518850,-518450,1714,1714,0 +7774,chaos,-520364,-524320,-524520,-524120,3956,-3956,0 +7775,chaos,-520364,-516410,-516610,-516210,3954,3954,0 +7776,chaos,-520364,-519290,-519490,-519090,1074,1074,0 +7777,chaos,-520364,-520370,-520570,-520170,6,-6,0.975 +7778,chaos,-520364,-523020,-523220,-522820,2656,-2656,0 +7779,chaos,-520364,-516250,-516450,-516050,4114,4114,0 +7780,chaos,-520364,-519230,-519430,-519030,1134,1134,0 +7781,chaos,-520364,-517000,-517200,-516800,3364,3364,0 +7782,chaos,-520364,-524900,-525100,-524700,4536,-4536,0 +7783,chaos,-520364,-518460,-518660,-518260,1904,1904,0 +7784,chaos,-520364,-524680,-524880,-524480,4316,-4316,0 +7785,chaos,-520364,-519000,-519200,-518800,1364,1364,0 +7786,chaos,-520364,-516650,-516850,-516450,3714,3714,0 +7787,chaos,-520364,-517220,-517420,-517020,3144,3144,0 +7788,chaos,-520364,-524430,-524630,-524230,4066,-4066,0 +7789,chaos,-520364,-524800,-525000,-524600,4436,-4436,0 +7790,chaos,-520364,-522250,-522450,-522050,1886,-1886,0 +7791,chaos,-520364,-517640,-517840,-517440,2724,2724,0 +7792,chaos,-520364,-525220,-525420,-525020,4856,-4856,0 +7793,chaos,-520364,-523070,-523270,-522870,2706,-2706,0 +7794,chaos,-520364,-516000,-516200,-515800,4364,4364,0 +7795,chaos,-520364,-519530,-519730,-519330,834,834,0 +7796,chaos,-520364,-520130,-520330,-519930,234,234,0.425 +7797,chaos,-520364,-517060,-517260,-516860,3304,3304,0 +7798,chaos,-520364,-524700,-524900,-524500,4336,-4336,0 +7799,chaos,-520364,-519590,-519790,-519390,774,774,0 +7800,chaos,-520364,-519410,-519610,-519210,954,954,0 +7801,chaos,-520364,-517190,-517390,-516990,3174,3174,0 +7802,chaos,-520364,-517070,-517270,-516870,3294,3294,0 +7803,chaos,-520364,-515720,-515920,-515520,4644,4644,0 +7804,chaos,-520364,-519070,-519270,-518870,1294,1294,0 +7805,chaos,-520364,-519250,-519450,-519050,1114,1114,0 +7806,chaos,-520364,-522640,-522840,-522440,2276,-2276,0 +7807,chaos,-520364,-517640,-517840,-517440,2724,2724,0 +7808,chaos,-520364,-516150,-516350,-515950,4214,4214,0 +7809,chaos,-520364,-521840,-522040,-521640,1476,-1476,0 +7810,chaos,-520364,-521700,-521900,-521500,1336,-1336,0 +7811,chaos,-520364,-524260,-524460,-524060,3896,-3896,0 +7812,chaos,-520364,-523510,-523710,-523310,3146,-3146,0 +7813,chaos,-520364,-522060,-522260,-521860,1696,-1696,0 +7814,chaos,-520364,-519830,-520030,-519630,534,534,0 +7815,chaos,-520364,-523340,-523540,-523140,2976,-2976,0 +7816,chaos,-520364,-520790,-520990,-520590,426,-426,0 +7817,chaos,-520364,-519650,-519850,-519450,714,714,0 +7818,chaos,-520364,-516550,-516750,-516350,3814,3814,0 +7819,chaos,-520364,-515390,-515590,-515190,4974,4974,0 +7820,chaos,-520364,-525120,-525320,-524920,4756,-4756,0 +7821,chaos,-520364,-525330,-525530,-525130,4966,-4966,0 +7822,chaos,-520364,-523970,-524170,-523770,3606,-3606,0 +7823,chaos,-520364,-515820,-516020,-515620,4544,4544,0 +7824,chaos,-520364,-521410,-521610,-521210,1046,-1046,0 +7825,chaos,-520364,-524280,-524480,-524080,3916,-3916,0 +7826,chaos,-520364,-518630,-518830,-518430,1734,1734,0 +7827,chaos,-520364,-519620,-519820,-519420,744,744,0 +7828,chaos,-520364,-521960,-522160,-521760,1596,-1596,0 +7829,chaos,-520364,-521880,-522080,-521680,1516,-1516,0 +7830,chaos,-520364,-523600,-523800,-523400,3236,-3236,0 +7831,chaos,-520364,-522560,-522760,-522360,2196,-2196,0 +7832,chaos,-520364,-515860,-516060,-515660,4504,4504,0 +7833,chaos,-520364,-518160,-518360,-517960,2204,2204,0 +7834,chaos,-520364,-518350,-518550,-518150,2014,2014,0 +7835,chaos,-520364,-520760,-520960,-520560,396,-396,0 +7836,chaos,-520364,-524810,-525010,-524610,4446,-4446,0 +7837,chaos,-520364,-518960,-519160,-518760,1404,1404,0 +7838,chaos,-520364,-515540,-515740,-515340,4824,4824,0 +7839,chaos,-520364,-523760,-523960,-523560,3396,-3396,0 +7840,chaos,-520364,-523600,-523800,-523400,3236,-3236,0 +7841,chaos,-520364,-515390,-515590,-515190,4974,4974,0 +7842,chaos,-520364,-521010,-521210,-520810,646,-646,0 +7843,chaos,-520364,-520500,-520700,-520300,136,-136,0.65 +7844,chaos,-520364,-516340,-516540,-516140,4024,4024,0 +7845,chaos,-520364,-522700,-522900,-522500,2336,-2336,0 +7846,chaos,-520364,-519620,-519820,-519420,744,744,0 +7847,chaos,-520364,-517690,-517890,-517490,2674,2674,0 +7848,chaos,-520364,-519790,-519990,-519590,574,574,0 +7849,chaos,-520364,-517110,-517310,-516910,3254,3254,0 +7850,chaos,-520364,-516670,-516870,-516470,3694,3694,0 +7851,chaos,-520364,-522960,-523160,-522760,2596,-2596,0 +7852,chaos,-520364,-518650,-518850,-518450,1714,1714,0 +7853,chaos,-520364,-517370,-517570,-517170,2994,2994,0 +7854,chaos,-520364,-521400,-521600,-521200,1036,-1036,0 +7855,chaos,-520364,-523580,-523780,-523380,3216,-3216,0 +7856,chaos,-520364,-518650,-518850,-518450,1714,1714,0 +7857,chaos,-520364,-515860,-516060,-515660,4504,4504,0 +7858,chaos,-520364,-519250,-519450,-519050,1114,1114,0 +7859,chaos,-520364,-520730,-520930,-520530,366,-366,0.075 +7860,chaos,-520364,-516490,-516690,-516290,3874,3874,0 +7861,chaos,-520364,-518400,-518600,-518200,1964,1964,0 +7862,chaos,-520364,-524300,-524500,-524100,3936,-3936,0 +7863,chaos,-520364,-522780,-522980,-522580,2416,-2416,0 +7864,chaos,-520364,-519920,-520120,-519720,444,444,0 +7865,chaos,-520364,-521240,-521440,-521040,876,-876,0 +7866,chaos,-520364,-524860,-525060,-524660,4496,-4496,0 +7867,chaos,-520364,-516210,-516410,-516010,4154,4154,0 +7868,chaos,-520364,-517440,-517640,-517240,2924,2924,0 +7869,chaos,-520364,-520800,-521000,-520600,436,-436,0 +7870,chaos,-520364,-522760,-522960,-522560,2396,-2396,0 +7871,chaos,-520364,-521110,-521310,-520910,746,-746,0 +7872,chaos,-520364,-515650,-515850,-515450,4714,4714,0 +7873,chaos,-520364,-518420,-518620,-518220,1944,1944,0 +7874,chaos,-520364,-520440,-520640,-520240,76,-76,0.8 +7875,chaos,-520364,-524260,-524460,-524060,3896,-3896,0 +7876,chaos,-520364,-522420,-522620,-522220,2056,-2056,0 +7877,chaos,-520364,-517380,-517580,-517180,2984,2984,0 +7878,chaos,-520364,-519550,-519750,-519350,814,814,0 +7879,chaos,-520364,-520020,-520220,-519820,344,344,0.15 +7880,chaos,-520364,-523220,-523420,-523020,2856,-2856,0 +7881,chaos,-520364,-517800,-518000,-517600,2564,2564,0 +7882,chaos,-520364,-521970,-522170,-521770,1606,-1606,0 +7883,chaos,-520364,-515380,-515580,-515180,4984,4984,0 +7884,chaos,-520364,-521820,-522020,-521620,1456,-1456,0 +7885,chaos,-520364,-516110,-516310,-515910,4254,4254,0 +7886,chaos,-520364,-521240,-521440,-521040,876,-876,0 +7887,chaos,-520364,-522740,-522940,-522540,2376,-2376,0 +7888,chaos,-520364,-516200,-516400,-516000,4164,4164,0 +7889,chaos,-520364,-519540,-519740,-519340,824,824,0 +7890,chaos,-520364,-522630,-522830,-522430,2266,-2266,0 +7891,chaos,-520364,-515460,-515660,-515260,4904,4904,0 +7892,chaos,-520364,-522250,-522450,-522050,1886,-1886,0 +7893,chaos,-520364,-515760,-515960,-515560,4604,4604,0 +7894,chaos,-520364,-523300,-523500,-523100,2936,-2936,0 +7895,chaos,-520364,-523100,-523300,-522900,2736,-2736,0 +7896,chaos,-520364,-520080,-520280,-519880,284,284,0.3 +7897,chaos,-520364,-523040,-523240,-522840,2676,-2676,0 +7898,chaos,-520364,-523190,-523390,-522990,2826,-2826,0 +7899,chaos,-520364,-520060,-520260,-519860,304,304,0.25 +7900,chaos,-520364,-518400,-518600,-518200,1964,1964,0 +7901,chaos,-520364,-516380,-516580,-516180,3984,3984,0 +7902,chaos,-520364,-522770,-522970,-522570,2406,-2406,0 +7903,chaos,-520364,-523330,-523530,-523130,2966,-2966,0 +7904,chaos,-520364,-516350,-516550,-516150,4014,4014,0 +7905,chaos,-520364,-517820,-518020,-517620,2544,2544,0 +7906,chaos,-520364,-519800,-520000,-519600,564,564,0 +7907,chaos,-520364,-515560,-515760,-515360,4804,4804,0 +7908,chaos,-520364,-517210,-517410,-517010,3154,3154,0 +7909,chaos,-520364,-521910,-522110,-521710,1546,-1546,0 +7910,chaos,-520364,-522580,-522780,-522380,2216,-2216,0 +7911,chaos,-520364,-525340,-525540,-525140,4976,-4976,0 +7912,chaos,-520364,-522310,-522510,-522110,1946,-1946,0 +7913,chaos,-520364,-520440,-520640,-520240,76,-76,0.8 +7914,chaos,-520364,-515870,-516070,-515670,4494,4494,0 +7915,chaos,-520364,-523970,-524170,-523770,3606,-3606,0 +7916,chaos,-520364,-519410,-519610,-519210,954,954,0 +7917,chaos,-520364,-520430,-520630,-520230,66,-66,0.825 +7918,chaos,-520364,-516800,-517000,-516600,3564,3564,0 +7919,chaos,-520364,-524220,-524420,-524020,3856,-3856,0 +7920,chaos,-520364,-517470,-517670,-517270,2894,2894,0 +7921,chaos,-520364,-518500,-518700,-518300,1864,1864,0 +7922,chaos,-520364,-522020,-522220,-521820,1656,-1656,0 +7923,chaos,-520364,-516730,-516930,-516530,3634,3634,0 +7924,chaos,-520364,-524070,-524270,-523870,3706,-3706,0 +7925,chaos,-520364,-519420,-519620,-519220,944,944,0 +7926,chaos,-520364,-522420,-522620,-522220,2056,-2056,0 +7927,chaos,-520364,-523720,-523920,-523520,3356,-3356,0 +7928,chaos,-520364,-520100,-520300,-519900,264,264,0.35 +7929,chaos,-520364,-519540,-519740,-519340,824,824,0 +7930,chaos,-520364,-518520,-518720,-518320,1844,1844,0 +7931,chaos,-520364,-518650,-518850,-518450,1714,1714,0 +7932,chaos,-520364,-525170,-525370,-524970,4806,-4806,0 +7933,chaos,-520364,-516290,-516490,-516090,4074,4074,0 +7934,chaos,-520364,-517830,-518030,-517630,2534,2534,0 +7935,chaos,-520364,-519190,-519390,-518990,1174,1174,0 +7936,chaos,-520364,-522400,-522600,-522200,2036,-2036,0 +7937,chaos,-520364,-516990,-517190,-516790,3374,3374,0 +7938,chaos,-520364,-515530,-515730,-515330,4834,4834,0 +7939,chaos,-520364,-524030,-524230,-523830,3666,-3666,0 +7940,chaos,-520364,-517920,-518120,-517720,2444,2444,0 +7941,chaos,-520364,-523780,-523980,-523580,3416,-3416,0 +7942,chaos,-520364,-525030,-525230,-524830,4666,-4666,0 +7943,chaos,-520364,-517210,-517410,-517010,3154,3154,0 +7944,chaos,-520364,-523230,-523430,-523030,2866,-2866,0 +7945,chaos,-520364,-518790,-518990,-518590,1574,1574,0 +7946,chaos,-520364,-520720,-520920,-520520,356,-356,0.1 +7947,chaos,-520364,-522430,-522630,-522230,2066,-2066,0 +7948,chaos,-520364,-518980,-519180,-518780,1384,1384,0 +7949,chaos,-520364,-520690,-520890,-520490,326,-326,0.175 +7950,chaos,-520364,-516650,-516850,-516450,3714,3714,0 +7951,chaos,-520364,-521100,-521300,-520900,736,-736,0 +7952,chaos,-520364,-520000,-520200,-519800,364,364,0.1 +7953,chaos,-520364,-519790,-519990,-519590,574,574,0 +7954,chaos,-520364,-521390,-521590,-521190,1026,-1026,0 +7955,chaos,-520364,-519370,-519570,-519170,994,994,0 +7956,chaos,-520364,-517130,-517330,-516930,3234,3234,0 +7957,chaos,-520364,-520430,-520630,-520230,66,-66,0.825 +7958,chaos,-520364,-517300,-517500,-517100,3064,3064,0 +7959,chaos,-520364,-516330,-516530,-516130,4034,4034,0 +7960,chaos,-520364,-519130,-519330,-518930,1234,1234,0 +7961,chaos,-520364,-518830,-519030,-518630,1534,1534,0 +7962,chaos,-520364,-516650,-516850,-516450,3714,3714,0 +7963,chaos,-520364,-521870,-522070,-521670,1506,-1506,0 +7964,chaos,-520364,-523180,-523380,-522980,2816,-2816,0 +7965,chaos,-520364,-521290,-521490,-521090,926,-926,0 +7966,chaos,-520364,-519300,-519500,-519100,1064,1064,0 +7967,chaos,-520364,-525290,-525490,-525090,4926,-4926,0 +7968,chaos,-520364,-521150,-521350,-520950,786,-786,0 +7969,chaos,-520364,-519860,-520060,-519660,504,504,0 +7970,chaos,-520364,-519760,-519960,-519560,604,604,0 +7971,chaos,-520364,-517510,-517710,-517310,2854,2854,0 +7972,chaos,-520364,-523730,-523930,-523530,3366,-3366,0 +7973,chaos,-520364,-524750,-524950,-524550,4386,-4386,0 +7974,chaos,-520364,-521500,-521700,-521300,1136,-1136,0 +7975,chaos,-520364,-520080,-520280,-519880,284,284,0.3 +7976,chaos,-520364,-523260,-523460,-523060,2896,-2896,0 +7977,chaos,-520364,-519770,-519970,-519570,594,594,0 +7978,chaos,-520364,-519880,-520080,-519680,484,484,0 +7979,chaos,-520364,-517640,-517840,-517440,2724,2724,0 +7980,chaos,-520364,-522440,-522640,-522240,2076,-2076,0 +7981,chaos,-520364,-520640,-520840,-520440,276,-276,0.3 +7982,chaos,-520364,-522870,-523070,-522670,2506,-2506,0 +7983,chaos,-520364,-524290,-524490,-524090,3926,-3926,0 +7984,chaos,-520364,-520830,-521030,-520630,466,-466,0 +7985,chaos,-520364,-524490,-524690,-524290,4126,-4126,0 +7986,chaos,-520364,-524740,-524940,-524540,4376,-4376,0 +7987,chaos,-520364,-522360,-522560,-522160,1996,-1996,0 +7988,chaos,-520364,-521670,-521870,-521470,1306,-1306,0 +7989,chaos,-520364,-522500,-522700,-522300,2136,-2136,0 +7990,chaos,-520364,-523600,-523800,-523400,3236,-3236,0 +7991,chaos,-520364,-524240,-524440,-524040,3876,-3876,0 +7992,chaos,-520364,-519930,-520130,-519730,434,434,0 +7993,chaos,-520364,-524080,-524280,-523880,3716,-3716,0 +7994,chaos,-520364,-523490,-523690,-523290,3126,-3126,0 +7995,chaos,-520364,-522300,-522500,-522100,1936,-1936,0 +7996,chaos,-520364,-523440,-523640,-523240,3076,-3076,0 +7997,chaos,-520364,-524540,-524740,-524340,4176,-4176,0 +7998,chaos,-520364,-522370,-522570,-522170,2006,-2006,0 +7999,chaos,-520364,-521150,-521350,-520950,786,-786,0 +8000,chaos,-520364,-518090,-518290,-517890,2274,2274,0 +8001,chaos,-520364,-522100,-522300,-521900,1736,-1736,0 +8002,chaos,-520364,-519730,-519930,-519530,634,634,0 +8003,chaos,-520364,-520470,-520670,-520270,106,-106,0.725 +8004,chaos,-520364,-516950,-517150,-516750,3414,3414,0 +8005,chaos,-520364,-515570,-515770,-515370,4794,4794,0 +8006,chaos,-520364,-517730,-517930,-517530,2634,2634,0 +8007,chaos,-520364,-517770,-517970,-517570,2594,2594,0 +8008,chaos,-520364,-519850,-520050,-519650,514,514,0 +8009,chaos,-520364,-517930,-518130,-517730,2434,2434,0 +8010,chaos,-520364,-523000,-523200,-522800,2636,-2636,0 +8011,chaos,-520364,-521930,-522130,-521730,1566,-1566,0 +8012,chaos,-520364,-523270,-523470,-523070,2906,-2906,0 +8013,chaos,-520364,-524290,-524490,-524090,3926,-3926,0 +8014,chaos,-520364,-525290,-525490,-525090,4926,-4926,0 +8015,chaos,-520364,-521800,-522000,-521600,1436,-1436,0 +8016,chaos,-520364,-522230,-522430,-522030,1866,-1866,0 +8017,chaos,-520364,-523980,-524180,-523780,3616,-3616,0 +8018,chaos,-520364,-515840,-516040,-515640,4524,4524,0 +8019,chaos,-520364,-524030,-524230,-523830,3666,-3666,0 +8020,chaos,-520364,-516340,-516540,-516140,4024,4024,0 +8021,chaos,-520364,-515430,-515630,-515230,4934,4934,0 +8022,chaos,-520364,-523230,-523430,-523030,2866,-2866,0 +8023,chaos,-520364,-524930,-525130,-524730,4566,-4566,0 +8024,chaos,-520364,-515530,-515730,-515330,4834,4834,0 +8025,chaos,-520364,-521390,-521590,-521190,1026,-1026,0 +8026,chaos,-520364,-522070,-522270,-521870,1706,-1706,0 +8027,chaos,-520364,-519670,-519870,-519470,694,694,0 +8028,chaos,-520364,-523210,-523410,-523010,2846,-2846,0 +8029,chaos,-520364,-516450,-516650,-516250,3914,3914,0 +8030,chaos,-520364,-518890,-519090,-518690,1474,1474,0 +8031,chaos,-520364,-521600,-521800,-521400,1236,-1236,0 +8032,chaos,-520364,-520720,-520920,-520520,356,-356,0.1 +8033,chaos,-520364,-518450,-518650,-518250,1914,1914,0 +8034,chaos,-520364,-515540,-515740,-515340,4824,4824,0 +8035,chaos,-520364,-517120,-517320,-516920,3244,3244,0 +8036,chaos,-520364,-520240,-520440,-520040,124,124,0.7 +8037,chaos,-520364,-516700,-516900,-516500,3664,3664,0 +8038,chaos,-520364,-519990,-520190,-519790,374,374,0.075 +8039,chaos,-520364,-523350,-523550,-523150,2986,-2986,0 +8040,chaos,-520364,-523050,-523250,-522850,2686,-2686,0 +8041,chaos,-520364,-518990,-519190,-518790,1374,1374,0 +8042,chaos,-520364,-520880,-521080,-520680,516,-516,0 +8043,chaos,-520364,-516480,-516680,-516280,3884,3884,0 +8044,chaos,-520364,-519940,-520140,-519740,424,424,0 +8045,chaos,-520364,-524680,-524880,-524480,4316,-4316,0 +8046,chaos,-520364,-521460,-521660,-521260,1096,-1096,0 +8047,chaos,-520364,-516470,-516670,-516270,3894,3894,0 +8048,chaos,-520364,-518400,-518600,-518200,1964,1964,0 +8049,chaos,-520364,-523300,-523500,-523100,2936,-2936,0 +8050,chaos,-520364,-517000,-517200,-516800,3364,3364,0 +8051,chaos,-520364,-524710,-524910,-524510,4346,-4346,0 +8052,chaos,-520364,-518340,-518540,-518140,2024,2024,0 +8053,chaos,-520364,-519370,-519570,-519170,994,994,0 +8054,chaos,-520364,-520060,-520260,-519860,304,304,0.25 +8055,chaos,-520364,-517740,-517940,-517540,2624,2624,0 +8056,chaos,-520364,-524940,-525140,-524740,4576,-4576,0 +8057,chaos,-520364,-520720,-520920,-520520,356,-356,0.1 +8058,chaos,-520364,-516210,-516410,-516010,4154,4154,0 +8059,chaos,-520364,-516840,-517040,-516640,3524,3524,0 +8060,chaos,-520364,-516960,-517160,-516760,3404,3404,0 +8061,chaos,-520364,-524970,-525170,-524770,4606,-4606,0 +8062,chaos,-520364,-516460,-516660,-516260,3904,3904,0 +8063,chaos,-520364,-523750,-523950,-523550,3386,-3386,0 +8064,chaos,-520364,-524790,-524990,-524590,4426,-4426,0 +8065,chaos,-520364,-518820,-519020,-518620,1544,1544,0 +8066,chaos,-520364,-520360,-520560,-520160,4,4,1 +8067,chaos,-520364,-517840,-518040,-517640,2524,2524,0 +8068,chaos,-520364,-521120,-521320,-520920,756,-756,0 +8069,chaos,-520364,-519790,-519990,-519590,574,574,0 +8070,chaos,-520364,-523150,-523350,-522950,2786,-2786,0 +8071,chaos,-520364,-516360,-516560,-516160,4004,4004,0 +8072,chaos,-520364,-521620,-521820,-521420,1256,-1256,0 +8073,chaos,-520364,-522100,-522300,-521900,1736,-1736,0 +8074,chaos,-520364,-515610,-515810,-515410,4754,4754,0 +8075,chaos,-520364,-524940,-525140,-524740,4576,-4576,0 +8076,chaos,-520364,-524730,-524930,-524530,4366,-4366,0 +8077,chaos,-520364,-520520,-520720,-520320,156,-156,0.6 +8078,chaos,-520364,-517030,-517230,-516830,3334,3334,0 +8079,chaos,-520364,-516570,-516770,-516370,3794,3794,0 +8080,chaos,-520364,-518660,-518860,-518460,1704,1704,0 +8081,chaos,-520364,-520220,-520420,-520020,144,144,0.65 +8082,chaos,-520364,-522360,-522560,-522160,1996,-1996,0 +8083,chaos,-520364,-518860,-519060,-518660,1504,1504,0 +8084,chaos,-520364,-516620,-516820,-516420,3744,3744,0 +8085,chaos,-520364,-525260,-525460,-525060,4896,-4896,0 +8086,chaos,-520364,-516860,-517060,-516660,3504,3504,0 +8087,chaos,-520364,-516960,-517160,-516760,3404,3404,0 +8088,chaos,-520364,-521970,-522170,-521770,1606,-1606,0 +8089,chaos,-520364,-522880,-523080,-522680,2516,-2516,0 +8090,chaos,-520364,-515660,-515860,-515460,4704,4704,0 +8091,chaos,-520364,-516530,-516730,-516330,3834,3834,0 +8092,chaos,-520364,-516770,-516970,-516570,3594,3594,0 +8093,chaos,-520364,-523970,-524170,-523770,3606,-3606,0 +8094,chaos,-520364,-517850,-518050,-517650,2514,2514,0 +8095,chaos,-520364,-517940,-518140,-517740,2424,2424,0 +8096,chaos,-520364,-517570,-517770,-517370,2794,2794,0 +8097,chaos,-520364,-524500,-524700,-524300,4136,-4136,0 +8098,chaos,-520364,-524330,-524530,-524130,3966,-3966,0 +8099,chaos,-520364,-519200,-519400,-519000,1164,1164,0 +8100,chaos,-520364,-523520,-523720,-523320,3156,-3156,0 +8101,chaos,-520364,-524540,-524740,-524340,4176,-4176,0 +8102,chaos,-520364,-524990,-525190,-524790,4626,-4626,0 +8103,chaos,-520364,-520850,-521050,-520650,486,-486,0 +8104,chaos,-520364,-517200,-517400,-517000,3164,3164,0 +8105,chaos,-520364,-524390,-524590,-524190,4026,-4026,0 +8106,chaos,-520364,-523460,-523660,-523260,3096,-3096,0 +8107,chaos,-520364,-516200,-516400,-516000,4164,4164,0 +8108,chaos,-520364,-516320,-516520,-516120,4044,4044,0 +8109,chaos,-520364,-517360,-517560,-517160,3004,3004,0 +8110,chaos,-520364,-518260,-518460,-518060,2104,2104,0 +8111,chaos,-520364,-518940,-519140,-518740,1424,1424,0 +8112,chaos,-520364,-522080,-522280,-521880,1716,-1716,0 +8113,chaos,-520364,-524220,-524420,-524020,3856,-3856,0 +8114,chaos,-520364,-518430,-518630,-518230,1934,1934,0 +8115,chaos,-520364,-519220,-519420,-519020,1144,1144,0 +8116,chaos,-520364,-518410,-518610,-518210,1954,1954,0 +8117,chaos,-520364,-517450,-517650,-517250,2914,2914,0 +8118,chaos,-520364,-517090,-517290,-516890,3274,3274,0 +8119,chaos,-520364,-518420,-518620,-518220,1944,1944,0 +8120,chaos,-520364,-524890,-525090,-524690,4526,-4526,0 +8121,chaos,-520364,-522180,-522380,-521980,1816,-1816,0 +8122,chaos,-520364,-515540,-515740,-515340,4824,4824,0 +8123,chaos,-520364,-518330,-518530,-518130,2034,2034,0 +8124,chaos,-520364,-517720,-517920,-517520,2644,2644,0 +8125,chaos,-520364,-521760,-521960,-521560,1396,-1396,0 +8126,chaos,-520364,-524820,-525020,-524620,4456,-4456,0 +8127,chaos,-520364,-518080,-518280,-517880,2284,2284,0 +8128,chaos,-520364,-518860,-519060,-518660,1504,1504,0 +8129,chaos,-520364,-518650,-518850,-518450,1714,1714,0 +8130,chaos,-520364,-519720,-519920,-519520,644,644,0 +8131,chaos,-520364,-516150,-516350,-515950,4214,4214,0 +8132,chaos,-520364,-522530,-522730,-522330,2166,-2166,0 +8133,chaos,-520364,-515950,-516150,-515750,4414,4414,0 +8134,chaos,-520364,-518610,-518810,-518410,1754,1754,0 +8135,chaos,-520364,-516520,-516720,-516320,3844,3844,0 +8136,chaos,-520364,-515720,-515920,-515520,4644,4644,0 +8137,chaos,-520364,-519590,-519790,-519390,774,774,0 +8138,chaos,-520364,-516400,-516600,-516200,3964,3964,0 +8139,chaos,-520364,-518410,-518610,-518210,1954,1954,0 +8140,chaos,-520364,-520960,-521160,-520760,596,-596,0 +8141,chaos,-520364,-521670,-521870,-521470,1306,-1306,0 +8142,chaos,-520364,-522880,-523080,-522680,2516,-2516,0 +8143,chaos,-520364,-521860,-522060,-521660,1496,-1496,0 +8144,chaos,-520364,-516350,-516550,-516150,4014,4014,0 +8145,chaos,-520364,-516480,-516680,-516280,3884,3884,0 +8146,chaos,-520364,-524940,-525140,-524740,4576,-4576,0 +8147,chaos,-520364,-524690,-524890,-524490,4326,-4326,0 +8148,chaos,-520364,-521150,-521350,-520950,786,-786,0 +8149,chaos,-520364,-516670,-516870,-516470,3694,3694,0 +8150,chaos,-520364,-523910,-524110,-523710,3546,-3546,0 +8151,chaos,-520364,-525350,-525550,-525150,4986,-4986,0 +8152,chaos,-520364,-518030,-518230,-517830,2334,2334,0 +8153,chaos,-520364,-521290,-521490,-521090,926,-926,0 +8154,chaos,-520364,-515990,-516190,-515790,4374,4374,0 +8155,chaos,-520364,-517110,-517310,-516910,3254,3254,0 +8156,chaos,-520364,-520580,-520780,-520380,216,-216,0.45 +8157,chaos,-520364,-517190,-517390,-516990,3174,3174,0 +8158,chaos,-520364,-518590,-518790,-518390,1774,1774,0 +8159,chaos,-520364,-523730,-523930,-523530,3366,-3366,0 +8160,chaos,-520364,-522590,-522790,-522390,2226,-2226,0 +8161,chaos,-520364,-524590,-524790,-524390,4226,-4226,0 +8162,chaos,-520364,-522410,-522610,-522210,2046,-2046,0 +8163,chaos,-520364,-515930,-516130,-515730,4434,4434,0 +8164,chaos,-520364,-521810,-522010,-521610,1446,-1446,0 +8165,chaos,-520364,-521540,-521740,-521340,1176,-1176,0 +8166,chaos,-520364,-522840,-523040,-522640,2476,-2476,0 +8167,chaos,-520364,-523510,-523710,-523310,3146,-3146,0 +8168,chaos,-520364,-517920,-518120,-517720,2444,2444,0 +8169,chaos,-520364,-523870,-524070,-523670,3506,-3506,0 +8170,chaos,-520364,-522890,-523090,-522690,2526,-2526,0 +8171,chaos,-520364,-517180,-517380,-516980,3184,3184,0 +8172,chaos,-520364,-519220,-519420,-519020,1144,1144,0 +8173,chaos,-520364,-519950,-520150,-519750,414,414,0 +8174,chaos,-520364,-517810,-518010,-517610,2554,2554,0 +8175,chaos,-520364,-517530,-517730,-517330,2834,2834,0 +8176,chaos,-520364,-518940,-519140,-518740,1424,1424,0 +8177,chaos,-520364,-520200,-520400,-520000,164,164,0.6 +8178,chaos,-520364,-515570,-515770,-515370,4794,4794,0 +8179,chaos,-520364,-525100,-525300,-524900,4736,-4736,0 +8180,chaos,-520364,-518920,-519120,-518720,1444,1444,0 +8181,chaos,-520364,-524490,-524690,-524290,4126,-4126,0 +8182,chaos,-520364,-523090,-523290,-522890,2726,-2726,0 +8183,chaos,-520364,-522970,-523170,-522770,2606,-2606,0 +8184,chaos,-520364,-523160,-523360,-522960,2796,-2796,0 +8185,chaos,-520364,-524920,-525120,-524720,4556,-4556,0 +8186,chaos,-520364,-516680,-516880,-516480,3684,3684,0 +8187,chaos,-520364,-518070,-518270,-517870,2294,2294,0 +8188,chaos,-520364,-517660,-517860,-517460,2704,2704,0 +8189,chaos,-520364,-519260,-519460,-519060,1104,1104,0 +8190,chaos,-520364,-523940,-524140,-523740,3576,-3576,0 +8191,chaos,-520364,-517130,-517330,-516930,3234,3234,0 +8192,chaos,-520364,-519750,-519950,-519550,614,614,0 +8193,chaos,-520364,-520170,-520370,-519970,194,194,0.525 +8194,chaos,-520364,-516020,-516220,-515820,4344,4344,0 +8195,chaos,-520364,-522310,-522510,-522110,1946,-1946,0 +8196,chaos,-520364,-516390,-516590,-516190,3974,3974,0 +8197,chaos,-520364,-523490,-523690,-523290,3126,-3126,0 +8198,chaos,-520364,-523430,-523630,-523230,3066,-3066,0 +8199,chaos,-520364,-518540,-518740,-518340,1824,1824,0 +8200,chaos,-520364,-520050,-520250,-519850,314,314,0.225 +8201,chaos,-520364,-519170,-519370,-518970,1194,1194,0 +8202,chaos,-520364,-524140,-524340,-523940,3776,-3776,0 +8203,chaos,-520364,-519270,-519470,-519070,1094,1094,0 +8204,chaos,-520364,-523630,-523830,-523430,3266,-3266,0 +8205,chaos,-520364,-516460,-516660,-516260,3904,3904,0 +8206,chaos,-520364,-519950,-520150,-519750,414,414,0 +8207,chaos,-520364,-517890,-518090,-517690,2474,2474,0 +8208,chaos,-520364,-522420,-522620,-522220,2056,-2056,0 +8209,chaos,-520364,-522300,-522500,-522100,1936,-1936,0 +8210,chaos,-520364,-518430,-518630,-518230,1934,1934,0 +8211,chaos,-520364,-517270,-517470,-517070,3094,3094,0 +8212,chaos,-520364,-520460,-520660,-520260,96,-96,0.75 +8213,chaos,-520364,-516930,-517130,-516730,3434,3434,0 +8214,chaos,-520364,-523210,-523410,-523010,2846,-2846,0 +8215,chaos,-520364,-520190,-520390,-519990,174,174,0.575 +8216,chaos,-520364,-525190,-525390,-524990,4826,-4826,0 +8217,chaos,-520364,-517210,-517410,-517010,3154,3154,0 +8218,chaos,-520364,-520150,-520350,-519950,214,214,0.475 +8219,chaos,-520364,-516970,-517170,-516770,3394,3394,0 +8220,chaos,-520364,-517360,-517560,-517160,3004,3004,0 +8221,chaos,-520364,-518060,-518260,-517860,2304,2304,0 +8222,chaos,-520364,-518950,-519150,-518750,1414,1414,0 +8223,chaos,-520364,-517540,-517740,-517340,2824,2824,0 +8224,chaos,-520364,-520010,-520210,-519810,354,354,0.125 +8225,chaos,-520364,-523220,-523420,-523020,2856,-2856,0 +8226,chaos,-520364,-519610,-519810,-519410,754,754,0 +8227,chaos,-520364,-518390,-518590,-518190,1974,1974,0 +8228,chaos,-520364,-519610,-519810,-519410,754,754,0 +8229,chaos,-520364,-522990,-523190,-522790,2626,-2626,0 +8230,chaos,-520364,-523630,-523830,-523430,3266,-3266,0 +8231,chaos,-520364,-519780,-519980,-519580,584,584,0 +8232,chaos,-520364,-523310,-523510,-523110,2946,-2946,0 +8233,chaos,-520364,-524110,-524310,-523910,3746,-3746,0 +8234,chaos,-520364,-518770,-518970,-518570,1594,1594,0 +8235,chaos,-520364,-520190,-520390,-519990,174,174,0.575 +8236,chaos,-520364,-521090,-521290,-520890,726,-726,0 +8237,chaos,-520364,-517730,-517930,-517530,2634,2634,0 +8238,chaos,-520364,-521880,-522080,-521680,1516,-1516,0 +8239,chaos,-520364,-517600,-517800,-517400,2764,2764,0 +8240,chaos,-520364,-516970,-517170,-516770,3394,3394,0 +8241,chaos,-520364,-518990,-519190,-518790,1374,1374,0 +8242,chaos,-520364,-522840,-523040,-522640,2476,-2476,0 +8243,chaos,-520364,-515900,-516100,-515700,4464,4464,0 +8244,chaos,-520364,-522910,-523110,-522710,2546,-2546,0 +8245,chaos,-520364,-515400,-515600,-515200,4964,4964,0 +8246,chaos,-520364,-517480,-517680,-517280,2884,2884,0 +8247,chaos,-520364,-515820,-516020,-515620,4544,4544,0 +8248,chaos,-520364,-524190,-524390,-523990,3826,-3826,0 +8249,chaos,-520364,-515780,-515980,-515580,4584,4584,0 +8250,chaos,-520364,-523080,-523280,-522880,2716,-2716,0 +8251,chaos,-520364,-523800,-524000,-523600,3436,-3436,0 +8252,chaos,-520364,-523930,-524130,-523730,3566,-3566,0 +8253,chaos,-520364,-522910,-523110,-522710,2546,-2546,0 +8254,chaos,-520364,-523710,-523910,-523510,3346,-3346,0 +8255,chaos,-520364,-522190,-522390,-521990,1826,-1826,0 +8256,chaos,-520364,-524130,-524330,-523930,3766,-3766,0 +8257,chaos,-520364,-517820,-518020,-517620,2544,2544,0 +8258,chaos,-520364,-522850,-523050,-522650,2486,-2486,0 +8259,chaos,-520364,-516510,-516710,-516310,3854,3854,0 +8260,chaos,-520364,-517860,-518060,-517660,2504,2504,0 +8261,chaos,-520364,-517370,-517570,-517170,2994,2994,0 +8262,chaos,-520364,-523380,-523580,-523180,3016,-3016,0 +8263,chaos,-520364,-518200,-518400,-518000,2164,2164,0 +8264,chaos,-520364,-524620,-524820,-524420,4256,-4256,0 +8265,chaos,-520364,-515760,-515960,-515560,4604,4604,0 +8266,chaos,-520364,-515600,-515800,-515400,4764,4764,0 +8267,chaos,-520364,-524250,-524450,-524050,3886,-3886,0 +8268,chaos,-520364,-518410,-518610,-518210,1954,1954,0 +8269,chaos,-520364,-525320,-525520,-525120,4956,-4956,0 +8270,chaos,-520364,-522990,-523190,-522790,2626,-2626,0 +8271,chaos,-520364,-524190,-524390,-523990,3826,-3826,0 +8272,chaos,-520364,-523580,-523780,-523380,3216,-3216,0 +8273,chaos,-520364,-521860,-522060,-521660,1496,-1496,0 +8274,chaos,-520364,-517530,-517730,-517330,2834,2834,0 +8275,chaos,-520364,-524860,-525060,-524660,4496,-4496,0 +8276,chaos,-520364,-521580,-521780,-521380,1216,-1216,0 +8277,chaos,-520364,-519210,-519410,-519010,1154,1154,0 +8278,chaos,-520364,-523010,-523210,-522810,2646,-2646,0 +8279,chaos,-520364,-524620,-524820,-524420,4256,-4256,0 +8280,chaos,-520364,-520100,-520300,-519900,264,264,0.35 +8281,chaos,-520364,-520850,-521050,-520650,486,-486,0 +8282,chaos,-520364,-520200,-520400,-520000,164,164,0.6 +8283,chaos,-520364,-525000,-525200,-524800,4636,-4636,0 +8284,chaos,-520364,-522430,-522630,-522230,2066,-2066,0 +8285,chaos,-520364,-522730,-522930,-522530,2366,-2366,0 +8286,chaos,-520364,-515710,-515910,-515510,4654,4654,0 +8287,chaos,-520364,-518300,-518500,-518100,2064,2064,0 +8288,chaos,-520364,-524760,-524960,-524560,4396,-4396,0 +8289,chaos,-520364,-515460,-515660,-515260,4904,4904,0 +8290,chaos,-520364,-524000,-524200,-523800,3636,-3636,0 +8291,chaos,-520364,-517620,-517820,-517420,2744,2744,0 +8292,chaos,-520364,-520640,-520840,-520440,276,-276,0.3 +8293,chaos,-520364,-518250,-518450,-518050,2114,2114,0 +8294,chaos,-520364,-525050,-525250,-524850,4686,-4686,0 +8295,chaos,-520364,-517190,-517390,-516990,3174,3174,0 +8296,chaos,-520364,-522910,-523110,-522710,2546,-2546,0 +8297,chaos,-520364,-524960,-525160,-524760,4596,-4596,0 +8298,chaos,-520364,-521460,-521660,-521260,1096,-1096,0 +8299,chaos,-520364,-518030,-518230,-517830,2334,2334,0 +8300,chaos,-520364,-522720,-522920,-522520,2356,-2356,0 +8301,chaos,-520364,-521690,-521890,-521490,1326,-1326,0 +8302,chaos,-520364,-521340,-521540,-521140,976,-976,0 +8303,chaos,-520364,-516530,-516730,-516330,3834,3834,0 +8304,chaos,-520364,-515860,-516060,-515660,4504,4504,0 +8305,chaos,-520364,-515470,-515670,-515270,4894,4894,0 +8306,chaos,-520364,-516480,-516680,-516280,3884,3884,0 +8307,chaos,-520364,-516920,-517120,-516720,3444,3444,0 +8308,chaos,-520364,-520440,-520640,-520240,76,-76,0.8 +8309,chaos,-520364,-521430,-521630,-521230,1066,-1066,0 +8310,chaos,-520364,-518830,-519030,-518630,1534,1534,0 +8311,chaos,-520364,-516270,-516470,-516070,4094,4094,0 +8312,chaos,-520364,-523060,-523260,-522860,2696,-2696,0 +8313,chaos,-520364,-521440,-521640,-521240,1076,-1076,0 +8314,chaos,-520364,-524100,-524300,-523900,3736,-3736,0 +8315,chaos,-520364,-524430,-524630,-524230,4066,-4066,0 +8316,chaos,-520364,-520800,-521000,-520600,436,-436,0 +8317,chaos,-520364,-515710,-515910,-515510,4654,4654,0 +8318,chaos,-520364,-521540,-521740,-521340,1176,-1176,0 +8319,chaos,-520364,-515990,-516190,-515790,4374,4374,0 +8320,chaos,-520364,-521340,-521540,-521140,976,-976,0 +8321,chaos,-520364,-524600,-524800,-524400,4236,-4236,0 +8322,chaos,-520364,-522370,-522570,-522170,2006,-2006,0 +8323,chaos,-520364,-523920,-524120,-523720,3556,-3556,0 +8324,chaos,-520364,-521630,-521830,-521430,1266,-1266,0 +8325,chaos,-520364,-523780,-523980,-523580,3416,-3416,0 +8326,chaos,-520364,-519480,-519680,-519280,884,884,0 +8327,chaos,-520364,-516250,-516450,-516050,4114,4114,0 +8328,chaos,-520364,-524410,-524610,-524210,4046,-4046,0 +8329,chaos,-520364,-521280,-521480,-521080,916,-916,0 +8330,chaos,-520364,-521670,-521870,-521470,1306,-1306,0 +8331,chaos,-520364,-524610,-524810,-524410,4246,-4246,0 +8332,chaos,-520364,-521990,-522190,-521790,1626,-1626,0 +8333,chaos,-520364,-521320,-521520,-521120,956,-956,0 +8334,chaos,-520364,-520010,-520210,-519810,354,354,0.125 +8335,chaos,-520364,-519170,-519370,-518970,1194,1194,0 +8336,chaos,-520364,-521300,-521500,-521100,936,-936,0 +8337,chaos,-520364,-517410,-517610,-517210,2954,2954,0 +8338,chaos,-520364,-524670,-524870,-524470,4306,-4306,0 +8339,chaos,-520364,-517870,-518070,-517670,2494,2494,0 +8340,chaos,-520364,-521130,-521330,-520930,766,-766,0 +8341,chaos,-520364,-520760,-520960,-520560,396,-396,0 +8342,chaos,-520364,-515680,-515880,-515480,4684,4684,0 +8343,chaos,-520364,-522200,-522400,-522000,1836,-1836,0 +8344,chaos,-520364,-521750,-521950,-521550,1386,-1386,0 +8345,chaos,-520364,-523270,-523470,-523070,2906,-2906,0 +8346,chaos,-520364,-517140,-517340,-516940,3224,3224,0 +8347,chaos,-520364,-518640,-518840,-518440,1724,1724,0 +8348,chaos,-520364,-520020,-520220,-519820,344,344,0.15 +8349,chaos,-520364,-519590,-519790,-519390,774,774,0 +8350,chaos,-520364,-524820,-525020,-524620,4456,-4456,0 +8351,chaos,-520364,-519180,-519380,-518980,1184,1184,0 +8352,chaos,-520364,-518580,-518780,-518380,1784,1784,0 +8353,chaos,-520364,-520570,-520770,-520370,206,-206,0.475 +8354,chaos,-520364,-521110,-521310,-520910,746,-746,0 +8355,chaos,-520364,-516350,-516550,-516150,4014,4014,0 +8356,chaos,-520364,-523520,-523720,-523320,3156,-3156,0 +8357,chaos,-520364,-523300,-523500,-523100,2936,-2936,0 +8358,chaos,-520364,-524360,-524560,-524160,3996,-3996,0 +8359,chaos,-520364,-521180,-521380,-520980,816,-816,0 +8360,chaos,-520364,-524310,-524510,-524110,3946,-3946,0 +8361,chaos,-520364,-517520,-517720,-517320,2844,2844,0 +8362,chaos,-520364,-518280,-518480,-518080,2084,2084,0 +8363,chaos,-520364,-515590,-515790,-515390,4774,4774,0 +8364,chaos,-520364,-516510,-516710,-516310,3854,3854,0 +8365,chaos,-520364,-516290,-516490,-516090,4074,4074,0 +8366,chaos,-520364,-524880,-525080,-524680,4516,-4516,0 +8367,chaos,-520364,-516310,-516510,-516110,4054,4054,0 +8368,chaos,-520364,-523040,-523240,-522840,2676,-2676,0 +8369,chaos,-520364,-515670,-515870,-515470,4694,4694,0 +8370,chaos,-520364,-524270,-524470,-524070,3906,-3906,0 +8371,chaos,-520364,-521240,-521440,-521040,876,-876,0 +8372,chaos,-520364,-520450,-520650,-520250,86,-86,0.775 +8373,chaos,-520364,-515500,-515700,-515300,4864,4864,0 +8374,chaos,-520364,-518510,-518710,-518310,1854,1854,0 +8375,chaos,-520364,-517660,-517860,-517460,2704,2704,0 +8376,chaos,-520364,-521000,-521200,-520800,636,-636,0 +8377,chaos,-520364,-522760,-522960,-522560,2396,-2396,0 +8378,chaos,-520364,-523260,-523460,-523060,2896,-2896,0 +8379,chaos,-520364,-516560,-516760,-516360,3804,3804,0 +8380,chaos,-520364,-519890,-520090,-519690,474,474,0 +8381,chaos,-520364,-519340,-519540,-519140,1024,1024,0 +8382,chaos,-520364,-520580,-520780,-520380,216,-216,0.45 +8383,chaos,-520364,-523450,-523650,-523250,3086,-3086,0 +8384,chaos,-520364,-518460,-518660,-518260,1904,1904,0 +8385,chaos,-520364,-525120,-525320,-524920,4756,-4756,0 +8386,chaos,-520364,-520440,-520640,-520240,76,-76,0.8 +8387,chaos,-520364,-519080,-519280,-518880,1284,1284,0 +8388,chaos,-520364,-515410,-515610,-515210,4954,4954,0 +8389,chaos,-520364,-520670,-520870,-520470,306,-306,0.225 +8390,chaos,-520364,-521010,-521210,-520810,646,-646,0 +8391,chaos,-520364,-518450,-518650,-518250,1914,1914,0 +8392,chaos,-520364,-518790,-518990,-518590,1574,1574,0 +8393,chaos,-520364,-515730,-515930,-515530,4634,4634,0 +8394,chaos,-520364,-518770,-518970,-518570,1594,1594,0 +8395,chaos,-520364,-520060,-520260,-519860,304,304,0.25 +8396,chaos,-520364,-522440,-522640,-522240,2076,-2076,0 +8397,chaos,-520364,-517360,-517560,-517160,3004,3004,0 +8398,chaos,-520364,-515690,-515890,-515490,4674,4674,0 +8399,chaos,-520364,-516300,-516500,-516100,4064,4064,0 +8400,chaos,-520364,-516690,-516890,-516490,3674,3674,0 +8401,chaos,-520364,-519430,-519630,-519230,934,934,0 +8402,chaos,-520364,-515610,-515810,-515410,4754,4754,0 +8403,chaos,-520364,-524480,-524680,-524280,4116,-4116,0 +8404,chaos,-520364,-516530,-516730,-516330,3834,3834,0 +8405,chaos,-520364,-519720,-519920,-519520,644,644,0 +8406,chaos,-520364,-524030,-524230,-523830,3666,-3666,0 +8407,chaos,-520364,-521910,-522110,-521710,1546,-1546,0 +8408,chaos,-520364,-516450,-516650,-516250,3914,3914,0 +8409,chaos,-520364,-518940,-519140,-518740,1424,1424,0 +8410,chaos,-520364,-519640,-519840,-519440,724,724,0 +8411,chaos,-520364,-515490,-515690,-515290,4874,4874,0 +8412,chaos,-520364,-516620,-516820,-516420,3744,3744,0 +8413,chaos,-520364,-524030,-524230,-523830,3666,-3666,0 +8414,chaos,-520364,-522660,-522860,-522460,2296,-2296,0 +8415,chaos,-520364,-521770,-521970,-521570,1406,-1406,0 +8416,chaos,-520364,-525010,-525210,-524810,4646,-4646,0 +8417,chaos,-520364,-516120,-516320,-515920,4244,4244,0 +8418,chaos,-520364,-516750,-516950,-516550,3614,3614,0 +8419,chaos,-520364,-515870,-516070,-515670,4494,4494,0 +8420,chaos,-520364,-516550,-516750,-516350,3814,3814,0 +8421,chaos,-520364,-523040,-523240,-522840,2676,-2676,0 +8422,chaos,-520364,-521880,-522080,-521680,1516,-1516,0 +8423,chaos,-520364,-519800,-520000,-519600,564,564,0 +8424,chaos,-520364,-523470,-523670,-523270,3106,-3106,0 +8425,chaos,-520364,-523660,-523860,-523460,3296,-3296,0 +8426,chaos,-520364,-517550,-517750,-517350,2814,2814,0 +8427,chaos,-520364,-516590,-516790,-516390,3774,3774,0 +8428,chaos,-520364,-523140,-523340,-522940,2776,-2776,0 +8429,chaos,-520364,-522040,-522240,-521840,1676,-1676,0 +8430,chaos,-520364,-521950,-522150,-521750,1586,-1586,0 +8431,chaos,-520364,-516610,-516810,-516410,3754,3754,0 +8432,chaos,-520364,-522870,-523070,-522670,2506,-2506,0 +8433,chaos,-520364,-517140,-517340,-516940,3224,3224,0 +8434,chaos,-520364,-524920,-525120,-524720,4556,-4556,0 +8435,chaos,-520364,-516110,-516310,-515910,4254,4254,0 +8436,chaos,-520364,-523680,-523880,-523480,3316,-3316,0 +8437,chaos,-520364,-516760,-516960,-516560,3604,3604,0 +8438,chaos,-520364,-523110,-523310,-522910,2746,-2746,0 +8439,chaos,-520364,-519060,-519260,-518860,1304,1304,0 +8440,chaos,-520364,-521750,-521950,-521550,1386,-1386,0 +8441,chaos,-520364,-521260,-521460,-521060,896,-896,0 +8442,chaos,-520364,-521800,-522000,-521600,1436,-1436,0 +8443,chaos,-520364,-524630,-524830,-524430,4266,-4266,0 +8444,chaos,-520364,-519820,-520020,-519620,544,544,0 +8445,chaos,-520364,-518130,-518330,-517930,2234,2234,0 +8446,chaos,-520364,-516420,-516620,-516220,3944,3944,0 +8447,chaos,-520364,-524160,-524360,-523960,3796,-3796,0 +8448,chaos,-520364,-523120,-523320,-522920,2756,-2756,0 +8449,chaos,-520364,-524250,-524450,-524050,3886,-3886,0 +8450,chaos,-520364,-522290,-522490,-522090,1926,-1926,0 +8451,chaos,-520364,-518680,-518880,-518480,1684,1684,0 +8452,chaos,-520364,-516910,-517110,-516710,3454,3454,0 +8453,chaos,-520364,-525050,-525250,-524850,4686,-4686,0 +8454,chaos,-520364,-515550,-515750,-515350,4814,4814,0 +8455,chaos,-520364,-516670,-516870,-516470,3694,3694,0 +8456,chaos,-520364,-523900,-524100,-523700,3536,-3536,0 +8457,chaos,-520364,-519320,-519520,-519120,1044,1044,0 +8458,chaos,-520364,-520210,-520410,-520010,154,154,0.625 +8459,chaos,-520364,-521550,-521750,-521350,1186,-1186,0 +8460,chaos,-520364,-525090,-525290,-524890,4726,-4726,0 +8461,chaos,-520364,-524680,-524880,-524480,4316,-4316,0 +8462,chaos,-520364,-522390,-522590,-522190,2026,-2026,0 +8463,chaos,-520364,-518290,-518490,-518090,2074,2074,0 +8464,chaos,-520364,-518500,-518700,-518300,1864,1864,0 +8465,chaos,-520364,-517490,-517690,-517290,2874,2874,0 +8466,chaos,-520364,-519610,-519810,-519410,754,754,0 +8467,chaos,-520364,-519890,-520090,-519690,474,474,0 +8468,chaos,-520364,-524770,-524970,-524570,4406,-4406,0 +8469,chaos,-520364,-523420,-523620,-523220,3056,-3056,0 +8470,chaos,-520364,-519670,-519870,-519470,694,694,0 +8471,chaos,-520364,-520100,-520300,-519900,264,264,0.35 +8472,chaos,-520364,-515570,-515770,-515370,4794,4794,0 +8473,chaos,-520364,-516680,-516880,-516480,3684,3684,0 +8474,chaos,-520364,-518010,-518210,-517810,2354,2354,0 +8475,chaos,-520364,-524550,-524750,-524350,4186,-4186,0 +8476,chaos,-520364,-522670,-522870,-522470,2306,-2306,0 +8477,chaos,-520364,-515520,-515720,-515320,4844,4844,0 +8478,chaos,-520364,-525230,-525430,-525030,4866,-4866,0 +8479,chaos,-520364,-524200,-524400,-524000,3836,-3836,0 +8480,chaos,-520364,-518930,-519130,-518730,1434,1434,0 +8481,chaos,-520364,-518620,-518820,-518420,1744,1744,0 +8482,chaos,-520364,-523490,-523690,-523290,3126,-3126,0 +8483,chaos,-520364,-516850,-517050,-516650,3514,3514,0 +8484,chaos,-520364,-523040,-523240,-522840,2676,-2676,0 +8485,chaos,-520364,-520890,-521090,-520690,526,-526,0 +8486,chaos,-520364,-524380,-524580,-524180,4016,-4016,0 +8487,chaos,-520364,-515510,-515710,-515310,4854,4854,0 +8488,chaos,-520364,-520950,-521150,-520750,586,-586,0 +8489,chaos,-520364,-525140,-525340,-524940,4776,-4776,0 +8490,chaos,-520364,-520210,-520410,-520010,154,154,0.625 +8491,chaos,-520364,-516310,-516510,-516110,4054,4054,0 +8492,chaos,-520364,-516220,-516420,-516020,4144,4144,0 +8493,chaos,-520364,-525240,-525440,-525040,4876,-4876,0 +8494,chaos,-520364,-524610,-524810,-524410,4246,-4246,0 +8495,chaos,-520364,-522670,-522870,-522470,2306,-2306,0 +8496,chaos,-520364,-517690,-517890,-517490,2674,2674,0 +8497,chaos,-520364,-522950,-523150,-522750,2586,-2586,0 +8498,chaos,-520364,-522540,-522740,-522340,2176,-2176,0 +8499,chaos,-520364,-518020,-518220,-517820,2344,2344,0 +8500,chaos,-520364,-516990,-517190,-516790,3374,3374,0 +8501,chaos,-520364,-518360,-518560,-518160,2004,2004,0 +8502,chaos,-520364,-515670,-515870,-515470,4694,4694,0 +8503,chaos,-520364,-523690,-523890,-523490,3326,-3326,0 +8504,chaos,-520364,-518250,-518450,-518050,2114,2114,0 +8505,chaos,-520364,-517660,-517860,-517460,2704,2704,0 +8506,chaos,-520364,-524080,-524280,-523880,3716,-3716,0 +8507,chaos,-520364,-516570,-516770,-516370,3794,3794,0 +8508,chaos,-520364,-523530,-523730,-523330,3166,-3166,0 +8509,chaos,-520364,-516180,-516380,-515980,4184,4184,0 +8510,chaos,-520364,-515620,-515820,-515420,4744,4744,0 +8511,chaos,-520364,-520130,-520330,-519930,234,234,0.425 +8512,chaos,-520364,-519410,-519610,-519210,954,954,0 +8513,chaos,-520364,-520100,-520300,-519900,264,264,0.35 +8514,chaos,-520364,-520090,-520290,-519890,274,274,0.325 +8515,chaos,-520364,-522980,-523180,-522780,2616,-2616,0 +8516,chaos,-520364,-518200,-518400,-518000,2164,2164,0 +8517,chaos,-520364,-524030,-524230,-523830,3666,-3666,0 +8518,chaos,-520364,-525010,-525210,-524810,4646,-4646,0 +8519,chaos,-520364,-521510,-521710,-521310,1146,-1146,0 +8520,chaos,-520364,-515910,-516110,-515710,4454,4454,0 +8521,chaos,-520364,-521140,-521340,-520940,776,-776,0 +8522,chaos,-520364,-516380,-516580,-516180,3984,3984,0 +8523,chaos,-520364,-519730,-519930,-519530,634,634,0 +8524,chaos,-520364,-522010,-522210,-521810,1646,-1646,0 +8525,chaos,-520364,-520760,-520960,-520560,396,-396,0 +8526,chaos,-520364,-519360,-519560,-519160,1004,1004,0 +8527,chaos,-520364,-524660,-524860,-524460,4296,-4296,0 +8528,chaos,-520364,-520510,-520710,-520310,146,-146,0.625 +8529,chaos,-520364,-522300,-522500,-522100,1936,-1936,0 +8530,chaos,-520364,-518590,-518790,-518390,1774,1774,0 +8531,chaos,-520364,-520710,-520910,-520510,346,-346,0.125 +8532,chaos,-520364,-519400,-519600,-519200,964,964,0 +8533,chaos,-520364,-517740,-517940,-517540,2624,2624,0 +8534,chaos,-520364,-520080,-520280,-519880,284,284,0.3 +8535,chaos,-520364,-517200,-517400,-517000,3164,3164,0 +8536,chaos,-520364,-524520,-524720,-524320,4156,-4156,0 +8537,chaos,-520364,-521010,-521210,-520810,646,-646,0 +8538,chaos,-520364,-521870,-522070,-521670,1506,-1506,0 +8539,chaos,-520364,-515370,-515570,-515170,4994,4994,0 +8540,chaos,-520364,-520370,-520570,-520170,6,-6,0.975 +8541,chaos,-520364,-524990,-525190,-524790,4626,-4626,0 +8542,chaos,-520364,-522360,-522560,-522160,1996,-1996,0 +8543,chaos,-520364,-516170,-516370,-515970,4194,4194,0 +8544,chaos,-520364,-518350,-518550,-518150,2014,2014,0 +8545,chaos,-520364,-520330,-520530,-520130,34,34,0.925 +8546,chaos,-520364,-517680,-517880,-517480,2684,2684,0 +8547,chaos,-520364,-521190,-521390,-520990,826,-826,0 +8548,chaos,-520364,-522840,-523040,-522640,2476,-2476,0 +8549,chaos,-520364,-517650,-517850,-517450,2714,2714,0 +8550,chaos,-520364,-515730,-515930,-515530,4634,4634,0 +8551,chaos,-520364,-518760,-518960,-518560,1604,1604,0 +8552,chaos,-520364,-525190,-525390,-524990,4826,-4826,0 +8553,chaos,-520364,-523460,-523660,-523260,3096,-3096,0 +8554,chaos,-520364,-520530,-520730,-520330,166,-166,0.575 +8555,chaos,-520364,-518360,-518560,-518160,2004,2004,0 +8556,chaos,-520364,-519170,-519370,-518970,1194,1194,0 +8557,chaos,-520364,-516480,-516680,-516280,3884,3884,0 +8558,chaos,-520364,-516360,-516560,-516160,4004,4004,0 +8559,chaos,-520364,-524050,-524250,-523850,3686,-3686,0 +8560,chaos,-520364,-516590,-516790,-516390,3774,3774,0 +8561,chaos,-520364,-518340,-518540,-518140,2024,2024,0 +8562,chaos,-520364,-524050,-524250,-523850,3686,-3686,0 +8563,chaos,-520364,-516970,-517170,-516770,3394,3394,0 +8564,chaos,-520364,-516560,-516760,-516360,3804,3804,0 +8565,chaos,-520364,-519640,-519840,-519440,724,724,0 +8566,chaos,-520364,-517260,-517460,-517060,3104,3104,0 +8567,chaos,-520364,-523310,-523510,-523110,2946,-2946,0 +8568,chaos,-520364,-522500,-522700,-522300,2136,-2136,0 +8569,chaos,-520364,-521690,-521890,-521490,1326,-1326,0 +8570,chaos,-520364,-525220,-525420,-525020,4856,-4856,0 +8571,chaos,-520364,-520730,-520930,-520530,366,-366,0.075 +8572,chaos,-520364,-525290,-525490,-525090,4926,-4926,0 +8573,chaos,-520364,-523930,-524130,-523730,3566,-3566,0 +8574,chaos,-520364,-519320,-519520,-519120,1044,1044,0 +8575,chaos,-520364,-516820,-517020,-516620,3544,3544,0 +8576,chaos,-520364,-516320,-516520,-516120,4044,4044,0 +8577,chaos,-520364,-523320,-523520,-523120,2956,-2956,0 +8578,chaos,-520364,-518730,-518930,-518530,1634,1634,0 +8579,chaos,-520364,-521960,-522160,-521760,1596,-1596,0 +8580,chaos,-520364,-520960,-521160,-520760,596,-596,0 +8581,chaos,-520364,-524990,-525190,-524790,4626,-4626,0 +8582,chaos,-520364,-522530,-522730,-522330,2166,-2166,0 +8583,chaos,-520364,-520790,-520990,-520590,426,-426,0 +8584,chaos,-520364,-517310,-517510,-517110,3054,3054,0 +8585,chaos,-520364,-522060,-522260,-521860,1696,-1696,0 +8586,chaos,-520364,-521840,-522040,-521640,1476,-1476,0 +8587,chaos,-520364,-515770,-515970,-515570,4594,4594,0 +8588,chaos,-520364,-519860,-520060,-519660,504,504,0 +8589,chaos,-520364,-524350,-524550,-524150,3986,-3986,0 +8590,chaos,-520364,-524110,-524310,-523910,3746,-3746,0 +8591,chaos,-520364,-524940,-525140,-524740,4576,-4576,0 +8592,chaos,-520364,-522190,-522390,-521990,1826,-1826,0 +8593,chaos,-520364,-517430,-517630,-517230,2934,2934,0 +8594,chaos,-520364,-517900,-518100,-517700,2464,2464,0 +8595,chaos,-520364,-515520,-515720,-515320,4844,4844,0 +8596,chaos,-520364,-518990,-519190,-518790,1374,1374,0 +8597,chaos,-520364,-524130,-524330,-523930,3766,-3766,0 +8598,chaos,-520364,-520640,-520840,-520440,276,-276,0.3 +8599,chaos,-520364,-522150,-522350,-521950,1786,-1786,0 +8600,chaos,-520364,-521110,-521310,-520910,746,-746,0 +8601,chaos,-520364,-519990,-520190,-519790,374,374,0.075 +8602,chaos,-520364,-523250,-523450,-523050,2886,-2886,0 +8603,chaos,-520364,-519730,-519930,-519530,634,634,0 +8604,chaos,-520364,-518740,-518940,-518540,1624,1624,0 +8605,chaos,-520364,-522270,-522470,-522070,1906,-1906,0 +8606,chaos,-520364,-520030,-520230,-519830,334,334,0.175 +8607,chaos,-520364,-525300,-525500,-525100,4936,-4936,0 +8608,chaos,-520364,-522550,-522750,-522350,2186,-2186,0 +8609,chaos,-520364,-520040,-520240,-519840,324,324,0.2 +8610,chaos,-520364,-516710,-516910,-516510,3654,3654,0 +8611,chaos,-520364,-521980,-522180,-521780,1616,-1616,0 +8612,chaos,-520364,-517020,-517220,-516820,3344,3344,0 +8613,chaos,-520364,-524790,-524990,-524590,4426,-4426,0 +8614,chaos,-520364,-519630,-519830,-519430,734,734,0 +8615,chaos,-520364,-516330,-516530,-516130,4034,4034,0 +8616,chaos,-520364,-524400,-524600,-524200,4036,-4036,0 +8617,chaos,-520364,-525130,-525330,-524930,4766,-4766,0 +8618,chaos,-520364,-516360,-516560,-516160,4004,4004,0 +8619,chaos,-520364,-516570,-516770,-516370,3794,3794,0 +8620,chaos,-520364,-523620,-523820,-523420,3256,-3256,0 +8621,chaos,-520364,-518310,-518510,-518110,2054,2054,0 +8622,chaos,-520364,-515790,-515990,-515590,4574,4574,0 +8623,chaos,-520364,-518080,-518280,-517880,2284,2284,0 +8624,chaos,-520364,-520320,-520520,-520120,44,44,0.9 +8625,chaos,-520364,-522480,-522680,-522280,2116,-2116,0 +8626,chaos,-520364,-515690,-515890,-515490,4674,4674,0 +8627,chaos,-520364,-517110,-517310,-516910,3254,3254,0 +8628,chaos,-520364,-523020,-523220,-522820,2656,-2656,0 +8629,chaos,-520364,-519580,-519780,-519380,784,784,0 +8630,chaos,-520364,-522460,-522660,-522260,2096,-2096,0 +8631,chaos,-520364,-516120,-516320,-515920,4244,4244,0 +8632,chaos,-520364,-518600,-518800,-518400,1764,1764,0 +8633,chaos,-520364,-515670,-515870,-515470,4694,4694,0 +8634,chaos,-520364,-524020,-524220,-523820,3656,-3656,0 +8635,chaos,-520364,-520390,-520590,-520190,26,-26,0.925 +8636,chaos,-520364,-524300,-524500,-524100,3936,-3936,0 +8637,chaos,-520364,-524730,-524930,-524530,4366,-4366,0 +8638,chaos,-520364,-516700,-516900,-516500,3664,3664,0 +8639,chaos,-520364,-522500,-522700,-522300,2136,-2136,0 +8640,chaos,-520364,-523240,-523440,-523040,2876,-2876,0 +8641,chaos,-520364,-515980,-516180,-515780,4384,4384,0 +8642,chaos,-520364,-520160,-520360,-519960,204,204,0.5 +8643,chaos,-520364,-521360,-521560,-521160,996,-996,0 +8644,chaos,-520364,-524650,-524850,-524450,4286,-4286,0 +8645,chaos,-520364,-521360,-521560,-521160,996,-996,0 +8646,chaos,-520364,-522550,-522750,-522350,2186,-2186,0 +8647,chaos,-520364,-522760,-522960,-522560,2396,-2396,0 +8648,chaos,-520364,-516660,-516860,-516460,3704,3704,0 +8649,chaos,-520364,-525080,-525280,-524880,4716,-4716,0 +8650,chaos,-520364,-516450,-516650,-516250,3914,3914,0 +8651,chaos,-520364,-520900,-521100,-520700,536,-536,0 +8652,chaos,-520364,-519490,-519690,-519290,874,874,0 +8653,chaos,-520364,-524860,-525060,-524660,4496,-4496,0 +8654,chaos,-520364,-520740,-520940,-520540,376,-376,0.05 +8655,chaos,-520364,-524920,-525120,-524720,4556,-4556,0 +8656,chaos,-520364,-523190,-523390,-522990,2826,-2826,0 +8657,chaos,-520364,-525120,-525320,-524920,4756,-4756,0 +8658,chaos,-520364,-518900,-519100,-518700,1464,1464,0 +8659,chaos,-520364,-520090,-520290,-519890,274,274,0.325 +8660,chaos,-520364,-517700,-517900,-517500,2664,2664,0 +8661,chaos,-520364,-518670,-518870,-518470,1694,1694,0 +8662,chaos,-520364,-523360,-523560,-523160,2996,-2996,0 +8663,chaos,-520364,-524110,-524310,-523910,3746,-3746,0 +8664,chaos,-520364,-517110,-517310,-516910,3254,3254,0 +8665,chaos,-520364,-525100,-525300,-524900,4736,-4736,0 +8666,chaos,-520364,-524400,-524600,-524200,4036,-4036,0 +8667,chaos,-520364,-525030,-525230,-524830,4666,-4666,0 +8668,chaos,-520364,-523830,-524030,-523630,3466,-3466,0 +8669,chaos,-520364,-520080,-520280,-519880,284,284,0.3 +8670,chaos,-520364,-524910,-525110,-524710,4546,-4546,0 +8671,chaos,-520364,-524550,-524750,-524350,4186,-4186,0 +8672,chaos,-520364,-523690,-523890,-523490,3326,-3326,0 +8673,chaos,-520364,-522170,-522370,-521970,1806,-1806,0 +8674,chaos,-520364,-517790,-517990,-517590,2574,2574,0 +8675,chaos,-520364,-519510,-519710,-519310,854,854,0 +8676,chaos,-520364,-524380,-524580,-524180,4016,-4016,0 +8677,chaos,-520364,-520570,-520770,-520370,206,-206,0.475 +8678,chaos,-520364,-523520,-523720,-523320,3156,-3156,0 +8679,chaos,-520364,-520390,-520590,-520190,26,-26,0.925 +8680,chaos,-520364,-522800,-523000,-522600,2436,-2436,0 +8681,chaos,-520364,-519410,-519610,-519210,954,954,0 +8682,chaos,-520364,-518050,-518250,-517850,2314,2314,0 +8683,chaos,-520364,-519950,-520150,-519750,414,414,0 +8684,chaos,-520364,-519310,-519510,-519110,1054,1054,0 +8685,chaos,-520364,-524930,-525130,-524730,4566,-4566,0 +8686,chaos,-520364,-524490,-524690,-524290,4126,-4126,0 +8687,chaos,-520364,-520740,-520940,-520540,376,-376,0.05 +8688,chaos,-520364,-523400,-523600,-523200,3036,-3036,0 +8689,chaos,-520364,-516170,-516370,-515970,4194,4194,0 +8690,chaos,-520364,-515760,-515960,-515560,4604,4604,0 +8691,chaos,-520364,-518790,-518990,-518590,1574,1574,0 +8692,chaos,-520364,-517620,-517820,-517420,2744,2744,0 +8693,chaos,-520364,-517160,-517360,-516960,3204,3204,0 +8694,chaos,-520364,-518040,-518240,-517840,2324,2324,0 +8695,chaos,-520364,-523730,-523930,-523530,3366,-3366,0 +8696,chaos,-520364,-522610,-522810,-522410,2246,-2246,0 +8697,chaos,-520364,-519340,-519540,-519140,1024,1024,0 +8698,chaos,-520364,-520910,-521110,-520710,546,-546,0 +8699,chaos,-520364,-516310,-516510,-516110,4054,4054,0 +8700,chaos,-520364,-521730,-521930,-521530,1366,-1366,0 +8701,chaos,-520364,-525120,-525320,-524920,4756,-4756,0 +8702,chaos,-520364,-516200,-516400,-516000,4164,4164,0 +8703,chaos,-520364,-518510,-518710,-518310,1854,1854,0 +8704,chaos,-520364,-518330,-518530,-518130,2034,2034,0 +8705,chaos,-520364,-519150,-519350,-518950,1214,1214,0 +8706,chaos,-520364,-516050,-516250,-515850,4314,4314,0 +8707,chaos,-520364,-522360,-522560,-522160,1996,-1996,0 +8708,chaos,-520364,-520910,-521110,-520710,546,-546,0 +8709,chaos,-520364,-515730,-515930,-515530,4634,4634,0 +8710,chaos,-520364,-520420,-520620,-520220,56,-56,0.85 +8711,chaos,-520364,-516700,-516900,-516500,3664,3664,0 +8712,chaos,-520364,-521240,-521440,-521040,876,-876,0 +8713,chaos,-520364,-524980,-525180,-524780,4616,-4616,0 +8714,chaos,-520364,-523200,-523400,-523000,2836,-2836,0 +8715,chaos,-520364,-518040,-518240,-517840,2324,2324,0 +8716,chaos,-520364,-517540,-517740,-517340,2824,2824,0 +8717,chaos,-520364,-523010,-523210,-522810,2646,-2646,0 +8718,chaos,-520364,-520140,-520340,-519940,224,224,0.45 +8719,chaos,-520364,-517120,-517320,-516920,3244,3244,0 +8720,chaos,-520364,-517370,-517570,-517170,2994,2994,0 +8721,chaos,-520364,-521220,-521420,-521020,856,-856,0 +8722,chaos,-520364,-522150,-522350,-521950,1786,-1786,0 +8723,chaos,-520364,-518280,-518480,-518080,2084,2084,0 +8724,chaos,-520364,-516600,-516800,-516400,3764,3764,0 +8725,chaos,-520364,-520010,-520210,-519810,354,354,0.125 +8726,chaos,-520364,-516550,-516750,-516350,3814,3814,0 +8727,chaos,-520364,-520880,-521080,-520680,516,-516,0 +8728,chaos,-520364,-524500,-524700,-524300,4136,-4136,0 +8729,chaos,-520364,-520720,-520920,-520520,356,-356,0.1 +8730,chaos,-520364,-516160,-516360,-515960,4204,4204,0 +8731,chaos,-520364,-517230,-517430,-517030,3134,3134,0 +8732,chaos,-520364,-517360,-517560,-517160,3004,3004,0 +8733,chaos,-520364,-517280,-517480,-517080,3084,3084,0 +8734,chaos,-520364,-524780,-524980,-524580,4416,-4416,0 +8735,chaos,-520364,-516210,-516410,-516010,4154,4154,0 +8736,chaos,-520364,-519920,-520120,-519720,444,444,0 +8737,chaos,-520364,-523630,-523830,-523430,3266,-3266,0 +8738,chaos,-520364,-524190,-524390,-523990,3826,-3826,0 +8739,chaos,-520364,-516290,-516490,-516090,4074,4074,0 +8740,chaos,-520364,-522550,-522750,-522350,2186,-2186,0 +8741,chaos,-520364,-517430,-517630,-517230,2934,2934,0 +8742,chaos,-520364,-522760,-522960,-522560,2396,-2396,0 +8743,chaos,-520364,-519140,-519340,-518940,1224,1224,0 +8744,chaos,-520364,-520600,-520800,-520400,236,-236,0.4 +8745,chaos,-520364,-525340,-525540,-525140,4976,-4976,0 +8746,chaos,-520364,-519280,-519480,-519080,1084,1084,0 +8747,chaos,-520364,-520230,-520430,-520030,134,134,0.675 +8748,chaos,-520364,-524130,-524330,-523930,3766,-3766,0 +8749,chaos,-520364,-516030,-516230,-515830,4334,4334,0 +8750,chaos,-520364,-521950,-522150,-521750,1586,-1586,0 +8751,chaos,-520364,-515850,-516050,-515650,4514,4514,0 +8752,chaos,-520364,-524470,-524670,-524270,4106,-4106,0 +8753,chaos,-520364,-524570,-524770,-524370,4206,-4206,0 +8754,chaos,-520364,-525040,-525240,-524840,4676,-4676,0 +8755,chaos,-520364,-524760,-524960,-524560,4396,-4396,0 +8756,chaos,-520364,-522770,-522970,-522570,2406,-2406,0 +8757,chaos,-520364,-523880,-524080,-523680,3516,-3516,0 +8758,chaos,-520364,-516810,-517010,-516610,3554,3554,0 +8759,chaos,-520364,-520430,-520630,-520230,66,-66,0.825 +8760,chaos,-520364,-521790,-521990,-521590,1426,-1426,0 +8761,chaos,-520364,-521630,-521830,-521430,1266,-1266,0 +8762,chaos,-520364,-523620,-523820,-523420,3256,-3256,0 +8763,chaos,-520364,-517650,-517850,-517450,2714,2714,0 +8764,chaos,-520364,-518300,-518500,-518100,2064,2064,0 +8765,chaos,-520364,-522310,-522510,-522110,1946,-1946,0 +8766,chaos,-520364,-521920,-522120,-521720,1556,-1556,0 +8767,chaos,-520364,-523000,-523200,-522800,2636,-2636,0 +8768,chaos,-520364,-518390,-518590,-518190,1974,1974,0 +8769,chaos,-520364,-521340,-521540,-521140,976,-976,0 +8770,chaos,-520364,-520290,-520490,-520090,74,74,0.825 +8771,chaos,-520364,-522610,-522810,-522410,2246,-2246,0 +8772,chaos,-520364,-519690,-519890,-519490,674,674,0 +8773,chaos,-520364,-522950,-523150,-522750,2586,-2586,0 +8774,chaos,-520364,-524310,-524510,-524110,3946,-3946,0 +8775,chaos,-520364,-519410,-519610,-519210,954,954,0 +8776,chaos,-520364,-516140,-516340,-515940,4224,4224,0 +8777,chaos,-520364,-516530,-516730,-516330,3834,3834,0 +8778,chaos,-520364,-520580,-520780,-520380,216,-216,0.45 +8779,chaos,-520364,-517620,-517820,-517420,2744,2744,0 +8780,chaos,-520364,-518550,-518750,-518350,1814,1814,0 +8781,chaos,-520364,-518030,-518230,-517830,2334,2334,0 +8782,chaos,-520364,-523770,-523970,-523570,3406,-3406,0 +8783,chaos,-520364,-519440,-519640,-519240,924,924,0 +8784,chaos,-520364,-517220,-517420,-517020,3144,3144,0 +8785,chaos,-520364,-516330,-516530,-516130,4034,4034,0 +8786,chaos,-520364,-524580,-524780,-524380,4216,-4216,0 +8787,chaos,-520364,-515510,-515710,-515310,4854,4854,0 +8788,chaos,-520364,-520200,-520400,-520000,164,164,0.6 +8789,chaos,-520364,-515500,-515700,-515300,4864,4864,0 +8790,chaos,-520364,-521730,-521930,-521530,1366,-1366,0 +8791,chaos,-520364,-518960,-519160,-518760,1404,1404,0 +8792,chaos,-520364,-516330,-516530,-516130,4034,4034,0 +8793,chaos,-520364,-520660,-520860,-520460,296,-296,0.25 +8794,chaos,-520364,-518590,-518790,-518390,1774,1774,0 +8795,chaos,-520364,-522990,-523190,-522790,2626,-2626,0 +8796,chaos,-520364,-524240,-524440,-524040,3876,-3876,0 +8797,chaos,-520364,-516370,-516570,-516170,3994,3994,0 +8798,chaos,-520364,-518420,-518620,-518220,1944,1944,0 +8799,chaos,-520364,-521670,-521870,-521470,1306,-1306,0 +8800,chaos,-520364,-522360,-522560,-522160,1996,-1996,0 +8801,chaos,-520364,-525350,-525550,-525150,4986,-4986,0 +8802,chaos,-520364,-521140,-521340,-520940,776,-776,0 +8803,chaos,-520364,-521320,-521520,-521120,956,-956,0 +8804,chaos,-520364,-515780,-515980,-515580,4584,4584,0 +8805,chaos,-520364,-518410,-518610,-518210,1954,1954,0 +8806,chaos,-520364,-517350,-517550,-517150,3014,3014,0 +8807,chaos,-520364,-521150,-521350,-520950,786,-786,0 +8808,chaos,-520364,-521150,-521350,-520950,786,-786,0 +8809,chaos,-520364,-516910,-517110,-516710,3454,3454,0 +8810,chaos,-520364,-523610,-523810,-523410,3246,-3246,0 +8811,chaos,-520364,-522010,-522210,-521810,1646,-1646,0 +8812,chaos,-520364,-524830,-525030,-524630,4466,-4466,0 +8813,chaos,-520364,-519450,-519650,-519250,914,914,0 +8814,chaos,-520364,-520780,-520980,-520580,416,-416,0 +8815,chaos,-520364,-524520,-524720,-524320,4156,-4156,0 +8816,chaos,-520364,-524270,-524470,-524070,3906,-3906,0 +8817,chaos,-520364,-524510,-524710,-524310,4146,-4146,0 +8818,chaos,-520364,-518750,-518950,-518550,1614,1614,0 +8819,chaos,-520364,-517360,-517560,-517160,3004,3004,0 +8820,chaos,-520364,-520900,-521100,-520700,536,-536,0 +8821,chaos,-520364,-518220,-518420,-518020,2144,2144,0 +8822,chaos,-520364,-516670,-516870,-516470,3694,3694,0 +8823,chaos,-520364,-516610,-516810,-516410,3754,3754,0 +8824,chaos,-520364,-518510,-518710,-518310,1854,1854,0 +8825,chaos,-520364,-520100,-520300,-519900,264,264,0.35 +8826,chaos,-520364,-515750,-515950,-515550,4614,4614,0 +8827,chaos,-520364,-520460,-520660,-520260,96,-96,0.75 +8828,chaos,-520364,-515610,-515810,-515410,4754,4754,0 +8829,chaos,-520364,-518250,-518450,-518050,2114,2114,0 +8830,chaos,-520364,-518620,-518820,-518420,1744,1744,0 +8831,chaos,-520364,-522800,-523000,-522600,2436,-2436,0 +8832,chaos,-520364,-520550,-520750,-520350,186,-186,0.525 +8833,chaos,-520364,-522650,-522850,-522450,2286,-2286,0 +8834,chaos,-520364,-523890,-524090,-523690,3526,-3526,0 +8835,chaos,-520364,-516500,-516700,-516300,3864,3864,0 +8836,chaos,-520364,-517920,-518120,-517720,2444,2444,0 +8837,chaos,-520364,-522390,-522590,-522190,2026,-2026,0 +8838,chaos,-520364,-521780,-521980,-521580,1416,-1416,0 +8839,chaos,-520364,-522050,-522250,-521850,1686,-1686,0 +8840,chaos,-520364,-519540,-519740,-519340,824,824,0 +8841,chaos,-520364,-520740,-520940,-520540,376,-376,0.05 +8842,chaos,-520364,-519930,-520130,-519730,434,434,0 +8843,chaos,-520364,-518210,-518410,-518010,2154,2154,0 +8844,chaos,-520364,-516240,-516440,-516040,4124,4124,0 +8845,chaos,-520364,-521440,-521640,-521240,1076,-1076,0 +8846,chaos,-520364,-522070,-522270,-521870,1706,-1706,0 +8847,chaos,-520364,-520030,-520230,-519830,334,334,0.175 +8848,chaos,-520364,-520590,-520790,-520390,226,-226,0.425 +8849,chaos,-520364,-516340,-516540,-516140,4024,4024,0 +8850,chaos,-520364,-518220,-518420,-518020,2144,2144,0 +8851,chaos,-520364,-516510,-516710,-516310,3854,3854,0 +8852,chaos,-520364,-518550,-518750,-518350,1814,1814,0 +8853,chaos,-520364,-518870,-519070,-518670,1494,1494,0 +8854,chaos,-520364,-518240,-518440,-518040,2124,2124,0 +8855,chaos,-520364,-523850,-524050,-523650,3486,-3486,0 +8856,chaos,-520364,-519140,-519340,-518940,1224,1224,0 +8857,chaos,-520364,-524100,-524300,-523900,3736,-3736,0 +8858,chaos,-520364,-520340,-520540,-520140,24,24,0.95 +8859,chaos,-520364,-519030,-519230,-518830,1334,1334,0 +8860,chaos,-520364,-517210,-517410,-517010,3154,3154,0 +8861,chaos,-520364,-517160,-517360,-516960,3204,3204,0 +8862,chaos,-520364,-517420,-517620,-517220,2944,2944,0 +8863,chaos,-520364,-519820,-520020,-519620,544,544,0 +8864,chaos,-520364,-515790,-515990,-515590,4574,4574,0 +8865,chaos,-520364,-521060,-521260,-520860,696,-696,0 +8866,chaos,-520364,-519930,-520130,-519730,434,434,0 +8867,chaos,-520364,-516680,-516880,-516480,3684,3684,0 +8868,chaos,-520364,-524310,-524510,-524110,3946,-3946,0 +8869,chaos,-520364,-522260,-522460,-522060,1896,-1896,0 +8870,chaos,-520364,-519580,-519780,-519380,784,784,0 +8871,chaos,-520364,-515820,-516020,-515620,4544,4544,0 +8872,chaos,-520364,-518000,-518200,-517800,2364,2364,0 +8873,chaos,-520364,-517140,-517340,-516940,3224,3224,0 +8874,chaos,-520364,-521220,-521420,-521020,856,-856,0 +8875,chaos,-520364,-519920,-520120,-519720,444,444,0 +8876,chaos,-520364,-520330,-520530,-520130,34,34,0.925 +8877,chaos,-520364,-515810,-516010,-515610,4554,4554,0 +8878,chaos,-520364,-519240,-519440,-519040,1124,1124,0 +8879,chaos,-520364,-521150,-521350,-520950,786,-786,0 +8880,chaos,-520364,-525050,-525250,-524850,4686,-4686,0 +8881,chaos,-520364,-521940,-522140,-521740,1576,-1576,0 +8882,chaos,-520364,-517600,-517800,-517400,2764,2764,0 +8883,chaos,-520364,-518190,-518390,-517990,2174,2174,0 +8884,chaos,-520364,-516100,-516300,-515900,4264,4264,0 +8885,chaos,-520364,-520430,-520630,-520230,66,-66,0.825 +8886,chaos,-520364,-519370,-519570,-519170,994,994,0 +8887,chaos,-520364,-517260,-517460,-517060,3104,3104,0 +8888,chaos,-520364,-524180,-524380,-523980,3816,-3816,0 +8889,chaos,-520364,-519510,-519710,-519310,854,854,0 +8890,chaos,-520364,-517590,-517790,-517390,2774,2774,0 +8891,chaos,-520364,-522130,-522330,-521930,1766,-1766,0 +8892,chaos,-520364,-515490,-515690,-515290,4874,4874,0 +8893,chaos,-520364,-520470,-520670,-520270,106,-106,0.725 +8894,chaos,-520364,-518670,-518870,-518470,1694,1694,0 +8895,chaos,-520364,-524390,-524590,-524190,4026,-4026,0 +8896,chaos,-520364,-523700,-523900,-523500,3336,-3336,0 +8897,chaos,-520364,-522400,-522600,-522200,2036,-2036,0 +8898,chaos,-520364,-520690,-520890,-520490,326,-326,0.175 +8899,chaos,-520364,-519770,-519970,-519570,594,594,0 +8900,chaos,-520364,-523080,-523280,-522880,2716,-2716,0 +8901,chaos,-520364,-524270,-524470,-524070,3906,-3906,0 +8902,chaos,-520364,-523660,-523860,-523460,3296,-3296,0 +8903,chaos,-520364,-515840,-516040,-515640,4524,4524,0 +8904,chaos,-520364,-525310,-525510,-525110,4946,-4946,0 +8905,chaos,-520364,-516540,-516740,-516340,3824,3824,0 +8906,chaos,-520364,-525260,-525460,-525060,4896,-4896,0 +8907,chaos,-520364,-520920,-521120,-520720,556,-556,0 +8908,chaos,-520364,-525250,-525450,-525050,4886,-4886,0 +8909,chaos,-520364,-519430,-519630,-519230,934,934,0 +8910,chaos,-520364,-517930,-518130,-517730,2434,2434,0 +8911,chaos,-520364,-521360,-521560,-521160,996,-996,0 +8912,chaos,-520364,-525100,-525300,-524900,4736,-4736,0 +8913,chaos,-520364,-523440,-523640,-523240,3076,-3076,0 +8914,chaos,-520364,-525040,-525240,-524840,4676,-4676,0 +8915,chaos,-520364,-523240,-523440,-523040,2876,-2876,0 +8916,chaos,-520364,-523740,-523940,-523540,3376,-3376,0 +8917,chaos,-520364,-519190,-519390,-518990,1174,1174,0 +8918,chaos,-520364,-521960,-522160,-521760,1596,-1596,0 +8919,chaos,-520364,-518220,-518420,-518020,2144,2144,0 +8920,chaos,-520364,-520640,-520840,-520440,276,-276,0.3 +8921,chaos,-520364,-520640,-520840,-520440,276,-276,0.3 +8922,chaos,-520364,-518070,-518270,-517870,2294,2294,0 +8923,chaos,-520364,-515780,-515980,-515580,4584,4584,0 +8924,chaos,-520364,-518240,-518440,-518040,2124,2124,0 +8925,chaos,-520364,-522620,-522820,-522420,2256,-2256,0 +8926,chaos,-520364,-521970,-522170,-521770,1606,-1606,0 +8927,chaos,-520364,-517270,-517470,-517070,3094,3094,0 +8928,chaos,-520364,-524320,-524520,-524120,3956,-3956,0 +8929,chaos,-520364,-518770,-518970,-518570,1594,1594,0 +8930,chaos,-520364,-522490,-522690,-522290,2126,-2126,0 +8931,chaos,-520364,-519590,-519790,-519390,774,774,0 +8932,chaos,-520364,-518180,-518380,-517980,2184,2184,0 +8933,chaos,-520364,-517600,-517800,-517400,2764,2764,0 +8934,chaos,-520364,-518840,-519040,-518640,1524,1524,0 +8935,chaos,-520364,-518500,-518700,-518300,1864,1864,0 +8936,chaos,-520364,-524670,-524870,-524470,4306,-4306,0 +8937,chaos,-520364,-521740,-521940,-521540,1376,-1376,0 +8938,chaos,-520364,-515370,-515570,-515170,4994,4994,0 +8939,chaos,-520364,-517450,-517650,-517250,2914,2914,0 +8940,chaos,-520364,-520530,-520730,-520330,166,-166,0.575 +8941,chaos,-520364,-521370,-521570,-521170,1006,-1006,0 +8942,chaos,-520364,-517360,-517560,-517160,3004,3004,0 +8943,chaos,-520364,-516050,-516250,-515850,4314,4314,0 +8944,chaos,-520364,-524650,-524850,-524450,4286,-4286,0 +8945,chaos,-520364,-521690,-521890,-521490,1326,-1326,0 +8946,chaos,-520364,-519770,-519970,-519570,594,594,0 +8947,chaos,-520364,-520830,-521030,-520630,466,-466,0 +8948,chaos,-520364,-525110,-525310,-524910,4746,-4746,0 +8949,chaos,-520364,-519730,-519930,-519530,634,634,0 +8950,chaos,-520364,-517160,-517360,-516960,3204,3204,0 +8951,chaos,-520364,-524970,-525170,-524770,4606,-4606,0 +8952,chaos,-520364,-520740,-520940,-520540,376,-376,0.05 +8953,chaos,-520364,-520010,-520210,-519810,354,354,0.125 +8954,chaos,-520364,-524620,-524820,-524420,4256,-4256,0 +8955,chaos,-520364,-521430,-521630,-521230,1066,-1066,0 +8956,chaos,-520364,-517530,-517730,-517330,2834,2834,0 +8957,chaos,-520364,-521070,-521270,-520870,706,-706,0 +8958,chaos,-520364,-518540,-518740,-518340,1824,1824,0 +8959,chaos,-520364,-522340,-522540,-522140,1976,-1976,0 +8960,chaos,-520364,-517130,-517330,-516930,3234,3234,0 +8961,chaos,-520364,-517950,-518150,-517750,2414,2414,0 +8962,chaos,-520364,-518150,-518350,-517950,2214,2214,0 +8963,chaos,-520364,-520300,-520500,-520100,64,64,0.85 +8964,chaos,-520364,-516210,-516410,-516010,4154,4154,0 +8965,chaos,-520364,-520360,-520560,-520160,4,4,1 +8966,chaos,-520364,-522260,-522460,-522060,1896,-1896,0 +8967,chaos,-520364,-525010,-525210,-524810,4646,-4646,0 +8968,chaos,-520364,-522190,-522390,-521990,1826,-1826,0 +8969,chaos,-520364,-522250,-522450,-522050,1886,-1886,0 +8970,chaos,-520364,-522370,-522570,-522170,2006,-2006,0 +8971,chaos,-520364,-519610,-519810,-519410,754,754,0 +8972,chaos,-520364,-521630,-521830,-521430,1266,-1266,0 +8973,chaos,-520364,-524150,-524350,-523950,3786,-3786,0 +8974,chaos,-520364,-518640,-518840,-518440,1724,1724,0 +8975,chaos,-520364,-522680,-522880,-522480,2316,-2316,0 +8976,chaos,-520364,-515910,-516110,-515710,4454,4454,0 +8977,chaos,-520364,-522340,-522540,-522140,1976,-1976,0 +8978,chaos,-520364,-516530,-516730,-516330,3834,3834,0 +8979,chaos,-520364,-516990,-517190,-516790,3374,3374,0 +8980,chaos,-520364,-522520,-522720,-522320,2156,-2156,0 +8981,chaos,-520364,-524890,-525090,-524690,4526,-4526,0 +8982,chaos,-520364,-521690,-521890,-521490,1326,-1326,0 +8983,chaos,-520364,-524790,-524990,-524590,4426,-4426,0 +8984,chaos,-520364,-522750,-522950,-522550,2386,-2386,0 +8985,chaos,-520364,-521070,-521270,-520870,706,-706,0 +8986,chaos,-520364,-520300,-520500,-520100,64,64,0.85 +8987,chaos,-520364,-517380,-517580,-517180,2984,2984,0 +8988,chaos,-520364,-523540,-523740,-523340,3176,-3176,0 +8989,chaos,-520364,-523740,-523940,-523540,3376,-3376,0 +8990,chaos,-520364,-517210,-517410,-517010,3154,3154,0 +8991,chaos,-520364,-520400,-520600,-520200,36,-36,0.9 +8992,chaos,-520364,-522470,-522670,-522270,2106,-2106,0 +8993,chaos,-520364,-524330,-524530,-524130,3966,-3966,0 +8994,chaos,-520364,-517820,-518020,-517620,2544,2544,0 +8995,chaos,-520364,-521710,-521910,-521510,1346,-1346,0 +8996,chaos,-520364,-521310,-521510,-521110,946,-946,0 +8997,chaos,-520364,-518580,-518780,-518380,1784,1784,0 +8998,chaos,-520364,-516040,-516240,-515840,4324,4324,0 +8999,chaos,-520364,-522320,-522520,-522120,1956,-1956,0 +9000,chaos,-520364,-519740,-519940,-519540,624,624,0 +9001,chaos,-520364,-517380,-517580,-517180,2984,2984,0 +9002,chaos,-520364,-520400,-520600,-520200,36,-36,0.9 +9003,chaos,-520364,-516130,-516330,-515930,4234,4234,0 +9004,chaos,-520364,-524300,-524500,-524100,3936,-3936,0 +9005,chaos,-520364,-518060,-518260,-517860,2304,2304,0 +9006,chaos,-520364,-522990,-523190,-522790,2626,-2626,0 +9007,chaos,-520364,-516440,-516640,-516240,3924,3924,0 +9008,chaos,-520364,-516670,-516870,-516470,3694,3694,0 +9009,chaos,-520364,-524750,-524950,-524550,4386,-4386,0 +9010,chaos,-520364,-518560,-518760,-518360,1804,1804,0 +9011,chaos,-520364,-519250,-519450,-519050,1114,1114,0 +9012,chaos,-520364,-523870,-524070,-523670,3506,-3506,0 +9013,chaos,-520364,-523700,-523900,-523500,3336,-3336,0 +9014,chaos,-520364,-519230,-519430,-519030,1134,1134,0 +9015,chaos,-520364,-520040,-520240,-519840,324,324,0.2 +9016,chaos,-520364,-516990,-517190,-516790,3374,3374,0 +9017,chaos,-520364,-519120,-519320,-518920,1244,1244,0 +9018,chaos,-520364,-521990,-522190,-521790,1626,-1626,0 +9019,chaos,-520364,-516590,-516790,-516390,3774,3774,0 +9020,chaos,-520364,-525310,-525510,-525110,4946,-4946,0 +9021,chaos,-520364,-520780,-520980,-520580,416,-416,0 +9022,chaos,-520364,-521280,-521480,-521080,916,-916,0 +9023,chaos,-520364,-516640,-516840,-516440,3724,3724,0 +9024,chaos,-520364,-522570,-522770,-522370,2206,-2206,0 +9025,chaos,-520364,-517350,-517550,-517150,3014,3014,0 +9026,chaos,-520364,-522840,-523040,-522640,2476,-2476,0 +9027,chaos,-520364,-519030,-519230,-518830,1334,1334,0 +9028,chaos,-520364,-521800,-522000,-521600,1436,-1436,0 +9029,chaos,-520364,-515680,-515880,-515480,4684,4684,0 +9030,chaos,-520364,-516510,-516710,-516310,3854,3854,0 +9031,chaos,-520364,-522660,-522860,-522460,2296,-2296,0 +9032,chaos,-520364,-519130,-519330,-518930,1234,1234,0 +9033,chaos,-520364,-518420,-518620,-518220,1944,1944,0 +9034,chaos,-520364,-522430,-522630,-522230,2066,-2066,0 +9035,chaos,-520364,-524690,-524890,-524490,4326,-4326,0 +9036,chaos,-520364,-524730,-524930,-524530,4366,-4366,0 +9037,chaos,-520364,-522940,-523140,-522740,2576,-2576,0 +9038,chaos,-520364,-519570,-519770,-519370,794,794,0 +9039,chaos,-520364,-521770,-521970,-521570,1406,-1406,0 +9040,chaos,-520364,-520220,-520420,-520020,144,144,0.65 +9041,chaos,-520364,-518670,-518870,-518470,1694,1694,0 +9042,chaos,-520364,-519000,-519200,-518800,1364,1364,0 +9043,chaos,-520364,-518410,-518610,-518210,1954,1954,0 +9044,chaos,-520364,-518800,-519000,-518600,1564,1564,0 +9045,chaos,-520364,-525090,-525290,-524890,4726,-4726,0 +9046,chaos,-520364,-517360,-517560,-517160,3004,3004,0 +9047,chaos,-520364,-522270,-522470,-522070,1906,-1906,0 +9048,chaos,-520364,-525050,-525250,-524850,4686,-4686,0 +9049,chaos,-520364,-524340,-524540,-524140,3976,-3976,0 +9050,chaos,-520364,-519160,-519360,-518960,1204,1204,0 +9051,chaos,-520364,-517190,-517390,-516990,3174,3174,0 +9052,chaos,-520364,-519550,-519750,-519350,814,814,0 +9053,chaos,-520364,-525170,-525370,-524970,4806,-4806,0 +9054,chaos,-520364,-516660,-516860,-516460,3704,3704,0 +9055,chaos,-520364,-519960,-520160,-519760,404,404,0 +9056,chaos,-520364,-524770,-524970,-524570,4406,-4406,0 +9057,chaos,-520364,-523150,-523350,-522950,2786,-2786,0 +9058,chaos,-520364,-522930,-523130,-522730,2566,-2566,0 +9059,chaos,-520364,-520500,-520700,-520300,136,-136,0.65 +9060,chaos,-520364,-518740,-518940,-518540,1624,1624,0 +9061,chaos,-520364,-516660,-516860,-516460,3704,3704,0 +9062,chaos,-520364,-522200,-522400,-522000,1836,-1836,0 +9063,chaos,-520364,-522170,-522370,-521970,1806,-1806,0 +9064,chaos,-520364,-523260,-523460,-523060,2896,-2896,0 +9065,chaos,-520364,-516520,-516720,-516320,3844,3844,0 +9066,chaos,-520364,-515750,-515950,-515550,4614,4614,0 +9067,chaos,-520364,-519960,-520160,-519760,404,404,0 +9068,chaos,-520364,-515500,-515700,-515300,4864,4864,0 +9069,chaos,-520364,-516450,-516650,-516250,3914,3914,0 +9070,chaos,-520364,-518400,-518600,-518200,1964,1964,0 +9071,chaos,-520364,-524570,-524770,-524370,4206,-4206,0 +9072,chaos,-520364,-523610,-523810,-523410,3246,-3246,0 +9073,chaos,-520364,-523490,-523690,-523290,3126,-3126,0 +9074,chaos,-520364,-517380,-517580,-517180,2984,2984,0 +9075,chaos,-520364,-517500,-517700,-517300,2864,2864,0 +9076,chaos,-520364,-517430,-517630,-517230,2934,2934,0 +9077,chaos,-520364,-519370,-519570,-519170,994,994,0 +9078,chaos,-520364,-518270,-518470,-518070,2094,2094,0 +9079,chaos,-520364,-517770,-517970,-517570,2594,2594,0 +9080,chaos,-520364,-516350,-516550,-516150,4014,4014,0 +9081,chaos,-520364,-518430,-518630,-518230,1934,1934,0 +9082,chaos,-520364,-519660,-519860,-519460,704,704,0 +9083,chaos,-520364,-519300,-519500,-519100,1064,1064,0 +9084,chaos,-520364,-519290,-519490,-519090,1074,1074,0 +9085,chaos,-520364,-523970,-524170,-523770,3606,-3606,0 +9086,chaos,-520364,-523440,-523640,-523240,3076,-3076,0 +9087,chaos,-520364,-520610,-520810,-520410,246,-246,0.375 +9088,chaos,-520364,-523690,-523890,-523490,3326,-3326,0 +9089,chaos,-520364,-519840,-520040,-519640,524,524,0 +9090,chaos,-520364,-517070,-517270,-516870,3294,3294,0 +9091,chaos,-520364,-521490,-521690,-521290,1126,-1126,0 +9092,chaos,-520364,-524190,-524390,-523990,3826,-3826,0 +9093,chaos,-520364,-519920,-520120,-519720,444,444,0 +9094,chaos,-520364,-524750,-524950,-524550,4386,-4386,0 +9095,chaos,-520364,-520480,-520680,-520280,116,-116,0.7 +9096,chaos,-520364,-518820,-519020,-518620,1544,1544,0 +9097,chaos,-520364,-517460,-517660,-517260,2904,2904,0 +9098,chaos,-520364,-517790,-517990,-517590,2574,2574,0 +9099,chaos,-520364,-516590,-516790,-516390,3774,3774,0 +9100,chaos,-520364,-521940,-522140,-521740,1576,-1576,0 +9101,chaos,-520364,-524790,-524990,-524590,4426,-4426,0 +9102,chaos,-520364,-521350,-521550,-521150,986,-986,0 +9103,chaos,-520364,-523520,-523720,-523320,3156,-3156,0 +9104,chaos,-520364,-518730,-518930,-518530,1634,1634,0 +9105,chaos,-520364,-521810,-522010,-521610,1446,-1446,0 +9106,chaos,-520364,-517590,-517790,-517390,2774,2774,0 +9107,chaos,-520364,-515480,-515680,-515280,4884,4884,0 +9108,chaos,-520364,-523220,-523420,-523020,2856,-2856,0 +9109,chaos,-520364,-519890,-520090,-519690,474,474,0 +9110,chaos,-520364,-521510,-521710,-521310,1146,-1146,0 +9111,chaos,-520364,-516400,-516600,-516200,3964,3964,0 +9112,chaos,-520364,-519490,-519690,-519290,874,874,0 +9113,chaos,-520364,-515410,-515610,-515210,4954,4954,0 +9114,chaos,-520364,-524540,-524740,-524340,4176,-4176,0 +9115,chaos,-520364,-517730,-517930,-517530,2634,2634,0 +9116,chaos,-520364,-517110,-517310,-516910,3254,3254,0 +9117,chaos,-520364,-523950,-524150,-523750,3586,-3586,0 +9118,chaos,-520364,-518610,-518810,-518410,1754,1754,0 +9119,chaos,-520364,-517610,-517810,-517410,2754,2754,0 +9120,chaos,-520364,-518970,-519170,-518770,1394,1394,0 +9121,chaos,-520364,-517760,-517960,-517560,2604,2604,0 +9122,chaos,-520364,-525200,-525400,-525000,4836,-4836,0 +9123,chaos,-520364,-519930,-520130,-519730,434,434,0 +9124,chaos,-520364,-521240,-521440,-521040,876,-876,0 +9125,chaos,-520364,-520140,-520340,-519940,224,224,0.45 +9126,chaos,-520364,-517760,-517960,-517560,2604,2604,0 +9127,chaos,-520364,-518850,-519050,-518650,1514,1514,0 +9128,chaos,-520364,-523870,-524070,-523670,3506,-3506,0 +9129,chaos,-520364,-516980,-517180,-516780,3384,3384,0 +9130,chaos,-520364,-521920,-522120,-521720,1556,-1556,0 +9131,chaos,-520364,-515400,-515600,-515200,4964,4964,0 +9132,chaos,-520364,-525250,-525450,-525050,4886,-4886,0 +9133,chaos,-520364,-518440,-518640,-518240,1924,1924,0 +9134,chaos,-520364,-520680,-520880,-520480,316,-316,0.2 +9135,chaos,-520364,-520010,-520210,-519810,354,354,0.125 +9136,chaos,-520364,-525200,-525400,-525000,4836,-4836,0 +9137,chaos,-520364,-522610,-522810,-522410,2246,-2246,0 +9138,chaos,-520364,-522790,-522990,-522590,2426,-2426,0 +9139,chaos,-520364,-519970,-520170,-519770,394,394,0.025 +9140,chaos,-520364,-519540,-519740,-519340,824,824,0 +9141,chaos,-520364,-521830,-522030,-521630,1466,-1466,0 +9142,chaos,-520364,-516750,-516950,-516550,3614,3614,0 +9143,chaos,-520364,-520210,-520410,-520010,154,154,0.625 +9144,chaos,-520364,-517230,-517430,-517030,3134,3134,0 +9145,chaos,-520364,-518750,-518950,-518550,1614,1614,0 +9146,chaos,-520364,-523240,-523440,-523040,2876,-2876,0 +9147,chaos,-520364,-518220,-518420,-518020,2144,2144,0 +9148,chaos,-520364,-518870,-519070,-518670,1494,1494,0 +9149,chaos,-520364,-524340,-524540,-524140,3976,-3976,0 +9150,chaos,-520364,-517420,-517620,-517220,2944,2944,0 +9151,chaos,-520364,-523460,-523660,-523260,3096,-3096,0 +9152,chaos,-520364,-519470,-519670,-519270,894,894,0 +9153,chaos,-520364,-518140,-518340,-517940,2224,2224,0 +9154,chaos,-520364,-521700,-521900,-521500,1336,-1336,0 +9155,chaos,-520364,-523730,-523930,-523530,3366,-3366,0 +9156,chaos,-520364,-522540,-522740,-522340,2176,-2176,0 +9157,chaos,-520364,-524480,-524680,-524280,4116,-4116,0 +9158,chaos,-520364,-523570,-523770,-523370,3206,-3206,0 +9159,chaos,-520364,-517280,-517480,-517080,3084,3084,0 +9160,chaos,-520364,-521200,-521400,-521000,836,-836,0 +9161,chaos,-520364,-521070,-521270,-520870,706,-706,0 +9162,chaos,-520364,-516690,-516890,-516490,3674,3674,0 +9163,chaos,-520364,-525020,-525220,-524820,4656,-4656,0 +9164,chaos,-520364,-516570,-516770,-516370,3794,3794,0 +9165,chaos,-520364,-515450,-515650,-515250,4914,4914,0 +9166,chaos,-520364,-524360,-524560,-524160,3996,-3996,0 +9167,chaos,-520364,-518240,-518440,-518040,2124,2124,0 +9168,chaos,-520364,-520570,-520770,-520370,206,-206,0.475 +9169,chaos,-520364,-522680,-522880,-522480,2316,-2316,0 +9170,chaos,-520364,-515710,-515910,-515510,4654,4654,0 +9171,chaos,-520364,-521890,-522090,-521690,1526,-1526,0 +9172,chaos,-520364,-519470,-519670,-519270,894,894,0 +9173,chaos,-520364,-524250,-524450,-524050,3886,-3886,0 +9174,chaos,-520364,-517020,-517220,-516820,3344,3344,0 +9175,chaos,-520364,-516880,-517080,-516680,3484,3484,0 +9176,chaos,-520364,-519740,-519940,-519540,624,624,0 +9177,chaos,-520364,-524750,-524950,-524550,4386,-4386,0 +9178,chaos,-520364,-519390,-519590,-519190,974,974,0 +9179,chaos,-520364,-518040,-518240,-517840,2324,2324,0 +9180,chaos,-520364,-523990,-524190,-523790,3626,-3626,0 +9181,chaos,-520364,-522740,-522940,-522540,2376,-2376,0 +9182,chaos,-520364,-519050,-519250,-518850,1314,1314,0 +9183,chaos,-520364,-523100,-523300,-522900,2736,-2736,0 +9184,chaos,-520364,-523730,-523930,-523530,3366,-3366,0 +9185,chaos,-520364,-516590,-516790,-516390,3774,3774,0 +9186,chaos,-520364,-524090,-524290,-523890,3726,-3726,0 +9187,chaos,-520364,-518720,-518920,-518520,1644,1644,0 +9188,chaos,-520364,-516690,-516890,-516490,3674,3674,0 +9189,chaos,-520364,-519210,-519410,-519010,1154,1154,0 +9190,chaos,-520364,-521830,-522030,-521630,1466,-1466,0 +9191,chaos,-520364,-517060,-517260,-516860,3304,3304,0 +9192,chaos,-520364,-522700,-522900,-522500,2336,-2336,0 +9193,chaos,-520364,-515630,-515830,-515430,4734,4734,0 +9194,chaos,-520364,-523840,-524040,-523640,3476,-3476,0 +9195,chaos,-520364,-521330,-521530,-521130,966,-966,0 +9196,chaos,-520364,-521810,-522010,-521610,1446,-1446,0 +9197,chaos,-520364,-517230,-517430,-517030,3134,3134,0 +9198,chaos,-520364,-521820,-522020,-521620,1456,-1456,0 +9199,chaos,-520364,-521200,-521400,-521000,836,-836,0 +9200,chaos,-520364,-523960,-524160,-523760,3596,-3596,0 +9201,chaos,-520364,-521200,-521400,-521000,836,-836,0 +9202,chaos,-520364,-522390,-522590,-522190,2026,-2026,0 +9203,chaos,-520364,-520520,-520720,-520320,156,-156,0.6 +9204,chaos,-520364,-518330,-518530,-518130,2034,2034,0 +9205,chaos,-520364,-525250,-525450,-525050,4886,-4886,0 +9206,chaos,-520364,-516250,-516450,-516050,4114,4114,0 +9207,chaos,-520364,-517130,-517330,-516930,3234,3234,0 +9208,chaos,-520364,-522930,-523130,-522730,2566,-2566,0 +9209,chaos,-520364,-525150,-525350,-524950,4786,-4786,0 +9210,chaos,-520364,-519260,-519460,-519060,1104,1104,0 +9211,chaos,-520364,-521740,-521940,-521540,1376,-1376,0 +9212,chaos,-520364,-517620,-517820,-517420,2744,2744,0 +9213,chaos,-520364,-518320,-518520,-518120,2044,2044,0 +9214,chaos,-520364,-522050,-522250,-521850,1686,-1686,0 +9215,chaos,-520364,-522280,-522480,-522080,1916,-1916,0 +9216,chaos,-520364,-518100,-518300,-517900,2264,2264,0 +9217,chaos,-520364,-521260,-521460,-521060,896,-896,0 +9218,chaos,-520364,-516270,-516470,-516070,4094,4094,0 +9219,chaos,-520364,-524650,-524850,-524450,4286,-4286,0 +9220,chaos,-520364,-521080,-521280,-520880,716,-716,0 +9221,chaos,-520364,-519050,-519250,-518850,1314,1314,0 +9222,chaos,-520364,-515610,-515810,-515410,4754,4754,0 +9223,chaos,-520364,-521720,-521920,-521520,1356,-1356,0 +9224,chaos,-520364,-521600,-521800,-521400,1236,-1236,0 +9225,chaos,-520364,-521420,-521620,-521220,1056,-1056,0 +9226,chaos,-520364,-517000,-517200,-516800,3364,3364,0 +9227,chaos,-520364,-517930,-518130,-517730,2434,2434,0 +9228,chaos,-520364,-515410,-515610,-515210,4954,4954,0 +9229,chaos,-520364,-519770,-519970,-519570,594,594,0 +9230,chaos,-520364,-518850,-519050,-518650,1514,1514,0 +9231,chaos,-520364,-515460,-515660,-515260,4904,4904,0 +9232,chaos,-520364,-522430,-522630,-522230,2066,-2066,0 +9233,chaos,-520364,-517380,-517580,-517180,2984,2984,0 +9234,chaos,-520364,-517800,-518000,-517600,2564,2564,0 +9235,chaos,-520364,-524810,-525010,-524610,4446,-4446,0 +9236,chaos,-520364,-521420,-521620,-521220,1056,-1056,0 +9237,chaos,-520364,-520720,-520920,-520520,356,-356,0.1 +9238,chaos,-520364,-519710,-519910,-519510,654,654,0 +9239,chaos,-520364,-525180,-525380,-524980,4816,-4816,0 +9240,chaos,-520364,-522830,-523030,-522630,2466,-2466,0 +9241,chaos,-520364,-515780,-515980,-515580,4584,4584,0 +9242,chaos,-520364,-523170,-523370,-522970,2806,-2806,0 +9243,chaos,-520364,-517880,-518080,-517680,2484,2484,0 +9244,chaos,-520364,-523430,-523630,-523230,3066,-3066,0 +9245,chaos,-520364,-520950,-521150,-520750,586,-586,0 +9246,chaos,-520364,-523190,-523390,-522990,2826,-2826,0 +9247,chaos,-520364,-520500,-520700,-520300,136,-136,0.65 +9248,chaos,-520364,-518290,-518490,-518090,2074,2074,0 +9249,chaos,-520364,-523130,-523330,-522930,2766,-2766,0 +9250,chaos,-520364,-524050,-524250,-523850,3686,-3686,0 +9251,chaos,-520364,-520190,-520390,-519990,174,174,0.575 +9252,chaos,-520364,-523530,-523730,-523330,3166,-3166,0 +9253,chaos,-520364,-516740,-516940,-516540,3624,3624,0 +9254,chaos,-520364,-515460,-515660,-515260,4904,4904,0 +9255,chaos,-520364,-516280,-516480,-516080,4084,4084,0 +9256,chaos,-520364,-515440,-515640,-515240,4924,4924,0 +9257,chaos,-520364,-518590,-518790,-518390,1774,1774,0 +9258,chaos,-520364,-522370,-522570,-522170,2006,-2006,0 +9259,chaos,-520364,-519130,-519330,-518930,1234,1234,0 +9260,chaos,-520364,-520260,-520460,-520060,104,104,0.75 +9261,chaos,-520364,-523740,-523940,-523540,3376,-3376,0 +9262,chaos,-520364,-523520,-523720,-523320,3156,-3156,0 +9263,chaos,-520364,-520660,-520860,-520460,296,-296,0.25 +9264,chaos,-520364,-520110,-520310,-519910,254,254,0.375 +9265,chaos,-520364,-522800,-523000,-522600,2436,-2436,0 +9266,chaos,-520364,-517780,-517980,-517580,2584,2584,0 +9267,chaos,-520364,-524670,-524870,-524470,4306,-4306,0 +9268,chaos,-520364,-524220,-524420,-524020,3856,-3856,0 +9269,chaos,-520364,-522560,-522760,-522360,2196,-2196,0 +9270,chaos,-520364,-519450,-519650,-519250,914,914,0 +9271,chaos,-520364,-520670,-520870,-520470,306,-306,0.225 +9272,chaos,-520364,-518510,-518710,-518310,1854,1854,0 +9273,chaos,-520364,-521230,-521430,-521030,866,-866,0 +9274,chaos,-520364,-516330,-516530,-516130,4034,4034,0 +9275,chaos,-520364,-522470,-522670,-522270,2106,-2106,0 +9276,chaos,-520364,-517850,-518050,-517650,2514,2514,0 +9277,chaos,-520364,-515370,-515570,-515170,4994,4994,0 +9278,chaos,-520364,-520420,-520620,-520220,56,-56,0.85 +9279,chaos,-520364,-520200,-520400,-520000,164,164,0.6 +9280,chaos,-520364,-519850,-520050,-519650,514,514,0 +9281,chaos,-520364,-521400,-521600,-521200,1036,-1036,0 +9282,chaos,-520364,-518570,-518770,-518370,1794,1794,0 +9283,chaos,-520364,-523590,-523790,-523390,3226,-3226,0 +9284,chaos,-520364,-521320,-521520,-521120,956,-956,0 +9285,chaos,-520364,-523660,-523860,-523460,3296,-3296,0 +9286,chaos,-520364,-523510,-523710,-523310,3146,-3146,0 +9287,chaos,-520364,-522110,-522310,-521910,1746,-1746,0 +9288,chaos,-520364,-516880,-517080,-516680,3484,3484,0 +9289,chaos,-520364,-524410,-524610,-524210,4046,-4046,0 +9290,chaos,-520364,-524260,-524460,-524060,3896,-3896,0 +9291,chaos,-520364,-515860,-516060,-515660,4504,4504,0 +9292,chaos,-520364,-525130,-525330,-524930,4766,-4766,0 +9293,chaos,-520364,-519780,-519980,-519580,584,584,0 +9294,chaos,-520364,-518130,-518330,-517930,2234,2234,0 +9295,chaos,-520364,-516840,-517040,-516640,3524,3524,0 +9296,chaos,-520364,-520930,-521130,-520730,566,-566,0 +9297,chaos,-520364,-518040,-518240,-517840,2324,2324,0 +9298,chaos,-520364,-521180,-521380,-520980,816,-816,0 +9299,chaos,-520364,-516900,-517100,-516700,3464,3464,0 +9300,chaos,-520364,-520110,-520310,-519910,254,254,0.375 +9301,chaos,-520364,-524670,-524870,-524470,4306,-4306,0 +9302,chaos,-520364,-519710,-519910,-519510,654,654,0 +9303,chaos,-520364,-525250,-525450,-525050,4886,-4886,0 +9304,chaos,-520364,-523490,-523690,-523290,3126,-3126,0 +9305,chaos,-520364,-521750,-521950,-521550,1386,-1386,0 +9306,chaos,-520364,-524790,-524990,-524590,4426,-4426,0 +9307,chaos,-520364,-523490,-523690,-523290,3126,-3126,0 +9308,chaos,-520364,-521680,-521880,-521480,1316,-1316,0 +9309,chaos,-520364,-525050,-525250,-524850,4686,-4686,0 +9310,chaos,-520364,-517040,-517240,-516840,3324,3324,0 +9311,chaos,-520364,-524660,-524860,-524460,4296,-4296,0 +9312,chaos,-520364,-517340,-517540,-517140,3024,3024,0 +9313,chaos,-520364,-520430,-520630,-520230,66,-66,0.825 +9314,chaos,-520364,-522920,-523120,-522720,2556,-2556,0 +9315,chaos,-520364,-523560,-523760,-523360,3196,-3196,0 +9316,chaos,-520364,-523700,-523900,-523500,3336,-3336,0 +9317,chaos,-520364,-525220,-525420,-525020,4856,-4856,0 +9318,chaos,-520364,-523410,-523610,-523210,3046,-3046,0 +9319,chaos,-520364,-523140,-523340,-522940,2776,-2776,0 +9320,chaos,-520364,-517580,-517780,-517380,2784,2784,0 +9321,chaos,-520364,-518470,-518670,-518270,1894,1894,0 +9322,chaos,-520364,-521310,-521510,-521110,946,-946,0 +9323,chaos,-520364,-525280,-525480,-525080,4916,-4916,0 +9324,chaos,-520364,-517910,-518110,-517710,2454,2454,0 +9325,chaos,-520364,-517370,-517570,-517170,2994,2994,0 +9326,chaos,-520364,-524100,-524300,-523900,3736,-3736,0 +9327,chaos,-520364,-520650,-520850,-520450,286,-286,0.275 +9328,chaos,-520364,-518850,-519050,-518650,1514,1514,0 +9329,chaos,-520364,-516330,-516530,-516130,4034,4034,0 +9330,chaos,-520364,-519590,-519790,-519390,774,774,0 +9331,chaos,-520364,-522080,-522280,-521880,1716,-1716,0 +9332,chaos,-520364,-523850,-524050,-523650,3486,-3486,0 +9333,chaos,-520364,-523840,-524040,-523640,3476,-3476,0 +9334,chaos,-520364,-519270,-519470,-519070,1094,1094,0 +9335,chaos,-520364,-516530,-516730,-516330,3834,3834,0 +9336,chaos,-520364,-518990,-519190,-518790,1374,1374,0 +9337,chaos,-520364,-518980,-519180,-518780,1384,1384,0 +9338,chaos,-520364,-524150,-524350,-523950,3786,-3786,0 +9339,chaos,-520364,-524630,-524830,-524430,4266,-4266,0 +9340,chaos,-520364,-523590,-523790,-523390,3226,-3226,0 +9341,chaos,-520364,-519480,-519680,-519280,884,884,0 +9342,chaos,-520364,-518050,-518250,-517850,2314,2314,0 +9343,chaos,-520364,-524200,-524400,-524000,3836,-3836,0 +9344,chaos,-520364,-519370,-519570,-519170,994,994,0 +9345,chaos,-520364,-518180,-518380,-517980,2184,2184,0 +9346,chaos,-520364,-523920,-524120,-523720,3556,-3556,0 +9347,chaos,-520364,-520190,-520390,-519990,174,174,0.575 +9348,chaos,-520364,-517820,-518020,-517620,2544,2544,0 +9349,chaos,-520364,-520140,-520340,-519940,224,224,0.45 +9350,chaos,-520364,-519510,-519710,-519310,854,854,0 +9351,chaos,-520364,-522210,-522410,-522010,1846,-1846,0 +9352,chaos,-520364,-521560,-521760,-521360,1196,-1196,0 +9353,chaos,-520364,-520720,-520920,-520520,356,-356,0.1 +9354,chaos,-520364,-523510,-523710,-523310,3146,-3146,0 +9355,chaos,-520364,-522930,-523130,-522730,2566,-2566,0 +9356,chaos,-520364,-515770,-515970,-515570,4594,4594,0 +9357,chaos,-520364,-518450,-518650,-518250,1914,1914,0 +9358,chaos,-520364,-515880,-516080,-515680,4484,4484,0 +9359,chaos,-520364,-519470,-519670,-519270,894,894,0 +9360,chaos,-520364,-519900,-520100,-519700,464,464,0 +9361,chaos,-520364,-517060,-517260,-516860,3304,3304,0 +9362,chaos,-520364,-518050,-518250,-517850,2314,2314,0 +9363,chaos,-520364,-516900,-517100,-516700,3464,3464,0 +9364,chaos,-520364,-524610,-524810,-524410,4246,-4246,0 +9365,chaos,-520364,-524350,-524550,-524150,3986,-3986,0 +9366,chaos,-520364,-517630,-517830,-517430,2734,2734,0 +9367,chaos,-520364,-517350,-517550,-517150,3014,3014,0 +9368,chaos,-520364,-516990,-517190,-516790,3374,3374,0 +9369,chaos,-520364,-519570,-519770,-519370,794,794,0 +9370,chaos,-520364,-523090,-523290,-522890,2726,-2726,0 +9371,chaos,-520364,-517250,-517450,-517050,3114,3114,0 +9372,chaos,-520364,-516390,-516590,-516190,3974,3974,0 +9373,chaos,-520364,-515420,-515620,-515220,4944,4944,0 +9374,chaos,-520364,-521380,-521580,-521180,1016,-1016,0 +9375,chaos,-520364,-524270,-524470,-524070,3906,-3906,0 +9376,chaos,-520364,-518470,-518670,-518270,1894,1894,0 +9377,chaos,-520364,-520370,-520570,-520170,6,-6,0.975 +9378,chaos,-520364,-516410,-516610,-516210,3954,3954,0 +9379,chaos,-520364,-520560,-520760,-520360,196,-196,0.5 +9380,chaos,-520364,-522420,-522620,-522220,2056,-2056,0 +9381,chaos,-520364,-517260,-517460,-517060,3104,3104,0 +9382,chaos,-520364,-521540,-521740,-521340,1176,-1176,0 +9383,chaos,-520364,-524940,-525140,-524740,4576,-4576,0 +9384,chaos,-520364,-521090,-521290,-520890,726,-726,0 +9385,chaos,-520364,-521830,-522030,-521630,1466,-1466,0 +9386,chaos,-520364,-522790,-522990,-522590,2426,-2426,0 +9387,chaos,-520364,-523830,-524030,-523630,3466,-3466,0 +9388,chaos,-520364,-520720,-520920,-520520,356,-356,0.1 +9389,chaos,-520364,-522790,-522990,-522590,2426,-2426,0 +9390,chaos,-520364,-522130,-522330,-521930,1766,-1766,0 +9391,chaos,-520364,-523600,-523800,-523400,3236,-3236,0 +9392,chaos,-520364,-524300,-524500,-524100,3936,-3936,0 +9393,chaos,-520364,-521050,-521250,-520850,686,-686,0 +9394,chaos,-520364,-519340,-519540,-519140,1024,1024,0 +9395,chaos,-520364,-523430,-523630,-523230,3066,-3066,0 +9396,chaos,-520364,-516320,-516520,-516120,4044,4044,0 +9397,chaos,-520364,-523300,-523500,-523100,2936,-2936,0 +9398,chaos,-520364,-521680,-521880,-521480,1316,-1316,0 +9399,chaos,-520364,-517900,-518100,-517700,2464,2464,0 +9400,chaos,-520364,-516110,-516310,-515910,4254,4254,0 +9401,chaos,-520364,-518900,-519100,-518700,1464,1464,0 +9402,chaos,-520364,-515950,-516150,-515750,4414,4414,0 +9403,chaos,-520364,-521220,-521420,-521020,856,-856,0 +9404,chaos,-520364,-524020,-524220,-523820,3656,-3656,0 +9405,chaos,-520364,-522990,-523190,-522790,2626,-2626,0 +9406,chaos,-520364,-515490,-515690,-515290,4874,4874,0 +9407,chaos,-520364,-520810,-521010,-520610,446,-446,0 +9408,chaos,-520364,-521150,-521350,-520950,786,-786,0 +9409,chaos,-520364,-523350,-523550,-523150,2986,-2986,0 +9410,chaos,-520364,-522920,-523120,-522720,2556,-2556,0 +9411,chaos,-520364,-521270,-521470,-521070,906,-906,0 +9412,chaos,-520364,-518240,-518440,-518040,2124,2124,0 +9413,chaos,-520364,-524200,-524400,-524000,3836,-3836,0 +9414,chaos,-520364,-521120,-521320,-520920,756,-756,0 +9415,chaos,-520364,-522030,-522230,-521830,1666,-1666,0 +9416,chaos,-520364,-518440,-518640,-518240,1924,1924,0 +9417,chaos,-520364,-521880,-522080,-521680,1516,-1516,0 +9418,chaos,-520364,-524920,-525120,-524720,4556,-4556,0 +9419,chaos,-520364,-519720,-519920,-519520,644,644,0 +9420,chaos,-520364,-521310,-521510,-521110,946,-946,0 +9421,chaos,-520364,-522370,-522570,-522170,2006,-2006,0 +9422,chaos,-520364,-520820,-521020,-520620,456,-456,0 +9423,chaos,-520364,-525350,-525550,-525150,4986,-4986,0 +9424,chaos,-520364,-521650,-521850,-521450,1286,-1286,0 +9425,chaos,-520364,-517440,-517640,-517240,2924,2924,0 +9426,chaos,-520364,-515670,-515870,-515470,4694,4694,0 +9427,chaos,-520364,-518570,-518770,-518370,1794,1794,0 +9428,chaos,-520364,-520230,-520430,-520030,134,134,0.675 +9429,chaos,-520364,-518080,-518280,-517880,2284,2284,0 +9430,chaos,-520364,-517490,-517690,-517290,2874,2874,0 +9431,chaos,-520364,-520980,-521180,-520780,616,-616,0 +9432,chaos,-520364,-522120,-522320,-521920,1756,-1756,0 +9433,chaos,-520364,-519780,-519980,-519580,584,584,0 +9434,chaos,-520364,-518250,-518450,-518050,2114,2114,0 +9435,chaos,-520364,-524590,-524790,-524390,4226,-4226,0 +9436,chaos,-520364,-516260,-516460,-516060,4104,4104,0 +9437,chaos,-520364,-519230,-519430,-519030,1134,1134,0 +9438,chaos,-520364,-521510,-521710,-521310,1146,-1146,0 +9439,chaos,-520364,-518670,-518870,-518470,1694,1694,0 +9440,chaos,-520364,-517430,-517630,-517230,2934,2934,0 +9441,chaos,-520364,-518100,-518300,-517900,2264,2264,0 +9442,chaos,-520364,-524030,-524230,-523830,3666,-3666,0 +9443,chaos,-520364,-516320,-516520,-516120,4044,4044,0 +9444,chaos,-520364,-515610,-515810,-515410,4754,4754,0 +9445,chaos,-520364,-518370,-518570,-518170,1994,1994,0 +9446,chaos,-520364,-519490,-519690,-519290,874,874,0 +9447,chaos,-520364,-516930,-517130,-516730,3434,3434,0 +9448,chaos,-520364,-520470,-520670,-520270,106,-106,0.725 +9449,chaos,-520364,-518240,-518440,-518040,2124,2124,0 +9450,chaos,-520364,-520560,-520760,-520360,196,-196,0.5 +9451,chaos,-520364,-524470,-524670,-524270,4106,-4106,0 +9452,chaos,-520364,-521910,-522110,-521710,1546,-1546,0 +9453,chaos,-520364,-525300,-525500,-525100,4936,-4936,0 +9454,chaos,-520364,-523140,-523340,-522940,2776,-2776,0 +9455,chaos,-520364,-522250,-522450,-522050,1886,-1886,0 +9456,chaos,-520364,-524810,-525010,-524610,4446,-4446,0 +9457,chaos,-520364,-521330,-521530,-521130,966,-966,0 +9458,chaos,-520364,-522790,-522990,-522590,2426,-2426,0 +9459,chaos,-520364,-517450,-517650,-517250,2914,2914,0 +9460,chaos,-520364,-517920,-518120,-517720,2444,2444,0 +9461,chaos,-520364,-521050,-521250,-520850,686,-686,0 +9462,chaos,-520364,-523220,-523420,-523020,2856,-2856,0 +9463,chaos,-520364,-518920,-519120,-518720,1444,1444,0 +9464,chaos,-520364,-518670,-518870,-518470,1694,1694,0 +9465,chaos,-520364,-523960,-524160,-523760,3596,-3596,0 +9466,chaos,-520364,-515370,-515570,-515170,4994,4994,0 +9467,chaos,-520364,-520350,-520550,-520150,14,14,0.975 +9468,chaos,-520364,-522270,-522470,-522070,1906,-1906,0 +9469,chaos,-520364,-524880,-525080,-524680,4516,-4516,0 +9470,chaos,-520364,-524930,-525130,-524730,4566,-4566,0 +9471,chaos,-520364,-517940,-518140,-517740,2424,2424,0 +9472,chaos,-520364,-518230,-518430,-518030,2134,2134,0 +9473,chaos,-520364,-524840,-525040,-524640,4476,-4476,0 +9474,chaos,-520364,-521730,-521930,-521530,1366,-1366,0 +9475,chaos,-520364,-517910,-518110,-517710,2454,2454,0 +9476,chaos,-520364,-515920,-516120,-515720,4444,4444,0 +9477,chaos,-520364,-518810,-519010,-518610,1554,1554,0 +9478,chaos,-520364,-518910,-519110,-518710,1454,1454,0 +9479,chaos,-520364,-516940,-517140,-516740,3424,3424,0 +9480,chaos,-520364,-522380,-522580,-522180,2016,-2016,0 +9481,chaos,-520364,-518830,-519030,-518630,1534,1534,0 +9482,chaos,-520364,-516450,-516650,-516250,3914,3914,0 +9483,chaos,-520364,-519880,-520080,-519680,484,484,0 +9484,chaos,-520364,-521270,-521470,-521070,906,-906,0 +9485,chaos,-520364,-516650,-516850,-516450,3714,3714,0 +9486,chaos,-520364,-524400,-524600,-524200,4036,-4036,0 +9487,chaos,-520364,-517520,-517720,-517320,2844,2844,0 +9488,chaos,-520364,-523810,-524010,-523610,3446,-3446,0 +9489,chaos,-520364,-518530,-518730,-518330,1834,1834,0 +9490,chaos,-520364,-519370,-519570,-519170,994,994,0 +9491,chaos,-520364,-521370,-521570,-521170,1006,-1006,0 +9492,chaos,-520364,-525090,-525290,-524890,4726,-4726,0 +9493,chaos,-520364,-524660,-524860,-524460,4296,-4296,0 +9494,chaos,-520364,-525240,-525440,-525040,4876,-4876,0 +9495,chaos,-520364,-520590,-520790,-520390,226,-226,0.425 +9496,chaos,-520364,-525350,-525550,-525150,4986,-4986,0 +9497,chaos,-520364,-523430,-523630,-523230,3066,-3066,0 +9498,chaos,-520364,-524590,-524790,-524390,4226,-4226,0 +9499,chaos,-520364,-517580,-517780,-517380,2784,2784,0 +9500,chaos,-520364,-523590,-523790,-523390,3226,-3226,0 +9501,chaos,-520364,-518580,-518780,-518380,1784,1784,0 +9502,chaos,-520364,-516200,-516400,-516000,4164,4164,0 +9503,chaos,-520364,-520070,-520270,-519870,294,294,0.275 +9504,chaos,-520364,-519170,-519370,-518970,1194,1194,0 +9505,chaos,-520364,-520880,-521080,-520680,516,-516,0 +9506,chaos,-520364,-525230,-525430,-525030,4866,-4866,0 +9507,chaos,-520364,-520990,-521190,-520790,626,-626,0 +9508,chaos,-520364,-520250,-520450,-520050,114,114,0.725 +9509,chaos,-520364,-516410,-516610,-516210,3954,3954,0 +9510,chaos,-520364,-524030,-524230,-523830,3666,-3666,0 +9511,chaos,-520364,-524320,-524520,-524120,3956,-3956,0 +9512,chaos,-520364,-523000,-523200,-522800,2636,-2636,0 +9513,chaos,-520364,-520670,-520870,-520470,306,-306,0.225 +9514,chaos,-520364,-522370,-522570,-522170,2006,-2006,0 +9515,chaos,-520364,-524880,-525080,-524680,4516,-4516,0 +9516,chaos,-520364,-524340,-524540,-524140,3976,-3976,0 +9517,chaos,-520364,-521920,-522120,-521720,1556,-1556,0 +9518,chaos,-520364,-523020,-523220,-522820,2656,-2656,0 +9519,chaos,-520364,-518760,-518960,-518560,1604,1604,0 +9520,chaos,-520364,-515930,-516130,-515730,4434,4434,0 +9521,chaos,-520364,-521170,-521370,-520970,806,-806,0 +9522,chaos,-520364,-520380,-520580,-520180,16,-16,0.95 +9523,chaos,-520364,-524420,-524620,-524220,4056,-4056,0 +9524,chaos,-520364,-523210,-523410,-523010,2846,-2846,0 +9525,chaos,-520364,-517780,-517980,-517580,2584,2584,0 +9526,chaos,-520364,-522230,-522430,-522030,1866,-1866,0 +9527,chaos,-520364,-520230,-520430,-520030,134,134,0.675 +9528,chaos,-520364,-521710,-521910,-521510,1346,-1346,0 +9529,chaos,-520364,-522870,-523070,-522670,2506,-2506,0 +9530,chaos,-520364,-516100,-516300,-515900,4264,4264,0 +9531,chaos,-520364,-522340,-522540,-522140,1976,-1976,0 +9532,chaos,-520364,-516230,-516430,-516030,4134,4134,0 +9533,chaos,-520364,-520050,-520250,-519850,314,314,0.225 +9534,chaos,-520364,-520790,-520990,-520590,426,-426,0 +9535,chaos,-520364,-522750,-522950,-522550,2386,-2386,0 +9536,chaos,-520364,-524880,-525080,-524680,4516,-4516,0 +9537,chaos,-520364,-520170,-520370,-519970,194,194,0.525 +9538,chaos,-520364,-515940,-516140,-515740,4424,4424,0 +9539,chaos,-520364,-519550,-519750,-519350,814,814,0 +9540,chaos,-520364,-521070,-521270,-520870,706,-706,0 +9541,chaos,-520364,-523910,-524110,-523710,3546,-3546,0 +9542,chaos,-520364,-520720,-520920,-520520,356,-356,0.1 +9543,chaos,-520364,-517300,-517500,-517100,3064,3064,0 +9544,chaos,-520364,-516690,-516890,-516490,3674,3674,0 +9545,chaos,-520364,-517290,-517490,-517090,3074,3074,0 +9546,chaos,-520364,-523210,-523410,-523010,2846,-2846,0 +9547,chaos,-520364,-524700,-524900,-524500,4336,-4336,0 +9548,chaos,-520364,-521240,-521440,-521040,876,-876,0 +9549,chaos,-520364,-518690,-518890,-518490,1674,1674,0 +9550,chaos,-520364,-521800,-522000,-521600,1436,-1436,0 +9551,chaos,-520364,-523660,-523860,-523460,3296,-3296,0 +9552,chaos,-520364,-522220,-522420,-522020,1856,-1856,0 +9553,chaos,-520364,-516590,-516790,-516390,3774,3774,0 +9554,chaos,-520364,-524770,-524970,-524570,4406,-4406,0 +9555,chaos,-520364,-520830,-521030,-520630,466,-466,0 +9556,chaos,-520364,-518700,-518900,-518500,1664,1664,0 +9557,chaos,-520364,-520080,-520280,-519880,284,284,0.3 +9558,chaos,-520364,-516490,-516690,-516290,3874,3874,0 +9559,chaos,-520364,-524690,-524890,-524490,4326,-4326,0 +9560,chaos,-520364,-523900,-524100,-523700,3536,-3536,0 +9561,chaos,-520364,-520170,-520370,-519970,194,194,0.525 +9562,chaos,-520364,-515710,-515910,-515510,4654,4654,0 +9563,chaos,-520364,-517430,-517630,-517230,2934,2934,0 +9564,chaos,-520364,-521190,-521390,-520990,826,-826,0 +9565,chaos,-520364,-522950,-523150,-522750,2586,-2586,0 +9566,chaos,-520364,-520290,-520490,-520090,74,74,0.825 +9567,chaos,-520364,-516520,-516720,-516320,3844,3844,0 +9568,chaos,-520364,-519230,-519430,-519030,1134,1134,0 +9569,chaos,-520364,-517990,-518190,-517790,2374,2374,0 +9570,chaos,-520364,-516870,-517070,-516670,3494,3494,0 +9571,chaos,-520364,-520610,-520810,-520410,246,-246,0.375 +9572,chaos,-520364,-523530,-523730,-523330,3166,-3166,0 +9573,chaos,-520364,-523410,-523610,-523210,3046,-3046,0 +9574,chaos,-520364,-521260,-521460,-521060,896,-896,0 +9575,chaos,-520364,-525220,-525420,-525020,4856,-4856,0 +9576,chaos,-520364,-519610,-519810,-519410,754,754,0 +9577,chaos,-520364,-524190,-524390,-523990,3826,-3826,0 +9578,chaos,-520364,-521100,-521300,-520900,736,-736,0 +9579,chaos,-520364,-515670,-515870,-515470,4694,4694,0 +9580,chaos,-520364,-523470,-523670,-523270,3106,-3106,0 +9581,chaos,-520364,-520750,-520950,-520550,386,-386,0.025 +9582,chaos,-520364,-517370,-517570,-517170,2994,2994,0 +9583,chaos,-520364,-521300,-521500,-521100,936,-936,0 +9584,chaos,-520364,-524750,-524950,-524550,4386,-4386,0 +9585,chaos,-520364,-523700,-523900,-523500,3336,-3336,0 +9586,chaos,-520364,-524260,-524460,-524060,3896,-3896,0 +9587,chaos,-520364,-521030,-521230,-520830,666,-666,0 +9588,chaos,-520364,-515430,-515630,-515230,4934,4934,0 +9589,chaos,-520364,-518430,-518630,-518230,1934,1934,0 +9590,chaos,-520364,-520150,-520350,-519950,214,214,0.475 +9591,chaos,-520364,-518220,-518420,-518020,2144,2144,0 +9592,chaos,-520364,-519650,-519850,-519450,714,714,0 +9593,chaos,-520364,-523740,-523940,-523540,3376,-3376,0 +9594,chaos,-520364,-523420,-523620,-523220,3056,-3056,0 +9595,chaos,-520364,-524970,-525170,-524770,4606,-4606,0 +9596,chaos,-520364,-523460,-523660,-523260,3096,-3096,0 +9597,chaos,-520364,-520870,-521070,-520670,506,-506,0 +9598,chaos,-520364,-518270,-518470,-518070,2094,2094,0 +9599,chaos,-520364,-524610,-524810,-524410,4246,-4246,0 +9600,chaos,-520364,-516310,-516510,-516110,4054,4054,0 +9601,chaos,-520364,-517750,-517950,-517550,2614,2614,0 +9602,chaos,-520364,-522650,-522850,-522450,2286,-2286,0 +9603,chaos,-520364,-520490,-520690,-520290,126,-126,0.675 +9604,chaos,-520364,-517520,-517720,-517320,2844,2844,0 +9605,chaos,-520364,-517110,-517310,-516910,3254,3254,0 +9606,chaos,-520364,-521690,-521890,-521490,1326,-1326,0 +9607,chaos,-520364,-521040,-521240,-520840,676,-676,0 +9608,chaos,-520364,-516060,-516260,-515860,4304,4304,0 +9609,chaos,-520364,-516210,-516410,-516010,4154,4154,0 +9610,chaos,-520364,-515920,-516120,-515720,4444,4444,0 +9611,chaos,-520364,-516500,-516700,-516300,3864,3864,0 +9612,chaos,-520364,-520880,-521080,-520680,516,-516,0 +9613,chaos,-520364,-521580,-521780,-521380,1216,-1216,0 +9614,chaos,-520364,-518900,-519100,-518700,1464,1464,0 +9615,chaos,-520364,-518240,-518440,-518040,2124,2124,0 +9616,chaos,-520364,-516990,-517190,-516790,3374,3374,0 +9617,chaos,-520364,-524210,-524410,-524010,3846,-3846,0 +9618,chaos,-520364,-523750,-523950,-523550,3386,-3386,0 +9619,chaos,-520364,-523890,-524090,-523690,3526,-3526,0 +9620,chaos,-520364,-520010,-520210,-519810,354,354,0.125 +9621,chaos,-520364,-524300,-524500,-524100,3936,-3936,0 +9622,chaos,-520364,-516890,-517090,-516690,3474,3474,0 +9623,chaos,-520364,-523310,-523510,-523110,2946,-2946,0 +9624,chaos,-520364,-519170,-519370,-518970,1194,1194,0 +9625,chaos,-520364,-521340,-521540,-521140,976,-976,0 +9626,chaos,-520364,-517920,-518120,-517720,2444,2444,0 +9627,chaos,-520364,-519360,-519560,-519160,1004,1004,0 +9628,chaos,-520364,-522580,-522780,-522380,2216,-2216,0 +9629,chaos,-520364,-521890,-522090,-521690,1526,-1526,0 +9630,chaos,-520364,-521570,-521770,-521370,1206,-1206,0 +9631,chaos,-520364,-523880,-524080,-523680,3516,-3516,0 +9632,chaos,-520364,-520800,-521000,-520600,436,-436,0 +9633,chaos,-520364,-517120,-517320,-516920,3244,3244,0 +9634,chaos,-520364,-524560,-524760,-524360,4196,-4196,0 +9635,chaos,-520364,-523450,-523650,-523250,3086,-3086,0 +9636,chaos,-520364,-519090,-519290,-518890,1274,1274,0 +9637,chaos,-520364,-517520,-517720,-517320,2844,2844,0 +9638,chaos,-520364,-523980,-524180,-523780,3616,-3616,0 +9639,chaos,-520364,-524320,-524520,-524120,3956,-3956,0 +9640,chaos,-520364,-521950,-522150,-521750,1586,-1586,0 +9641,chaos,-520364,-516650,-516850,-516450,3714,3714,0 +9642,chaos,-520364,-522870,-523070,-522670,2506,-2506,0 +9643,chaos,-520364,-517620,-517820,-517420,2744,2744,0 +9644,chaos,-520364,-516610,-516810,-516410,3754,3754,0 +9645,chaos,-520364,-524570,-524770,-524370,4206,-4206,0 +9646,chaos,-520364,-524120,-524320,-523920,3756,-3756,0 +9647,chaos,-520364,-520010,-520210,-519810,354,354,0.125 +9648,chaos,-520364,-522060,-522260,-521860,1696,-1696,0 +9649,chaos,-520364,-525360,-525560,-525160,4996,-4996,0 +9650,chaos,-520364,-520130,-520330,-519930,234,234,0.425 +9651,chaos,-520364,-516480,-516680,-516280,3884,3884,0 +9652,chaos,-520364,-518140,-518340,-517940,2224,2224,0 +9653,chaos,-520364,-516450,-516650,-516250,3914,3914,0 +9654,chaos,-520364,-517450,-517650,-517250,2914,2914,0 +9655,chaos,-520364,-522000,-522200,-521800,1636,-1636,0 +9656,chaos,-520364,-523780,-523980,-523580,3416,-3416,0 +9657,chaos,-520364,-522040,-522240,-521840,1676,-1676,0 +9658,chaos,-520364,-522600,-522800,-522400,2236,-2236,0 +9659,chaos,-520364,-521330,-521530,-521130,966,-966,0 +9660,chaos,-520364,-516480,-516680,-516280,3884,3884,0 +9661,chaos,-520364,-515700,-515900,-515500,4664,4664,0 +9662,chaos,-520364,-519730,-519930,-519530,634,634,0 +9663,chaos,-520364,-518990,-519190,-518790,1374,1374,0 +9664,chaos,-520364,-519460,-519660,-519260,904,904,0 +9665,chaos,-520364,-521280,-521480,-521080,916,-916,0 +9666,chaos,-520364,-517790,-517990,-517590,2574,2574,0 +9667,chaos,-520364,-519770,-519970,-519570,594,594,0 +9668,chaos,-520364,-516030,-516230,-515830,4334,4334,0 +9669,chaos,-520364,-515480,-515680,-515280,4884,4884,0 +9670,chaos,-520364,-521230,-521430,-521030,866,-866,0 +9671,chaos,-520364,-518600,-518800,-518400,1764,1764,0 +9672,chaos,-520364,-521540,-521740,-521340,1176,-1176,0 +9673,chaos,-520364,-523950,-524150,-523750,3586,-3586,0 +9674,chaos,-520364,-519840,-520040,-519640,524,524,0 +9675,chaos,-520364,-523100,-523300,-522900,2736,-2736,0 +9676,chaos,-520364,-519950,-520150,-519750,414,414,0 +9677,chaos,-520364,-516410,-516610,-516210,3954,3954,0 +9678,chaos,-520364,-519130,-519330,-518930,1234,1234,0 +9679,chaos,-520364,-523730,-523930,-523530,3366,-3366,0 +9680,chaos,-520364,-520570,-520770,-520370,206,-206,0.475 +9681,chaos,-520364,-517010,-517210,-516810,3354,3354,0 +9682,chaos,-520364,-520940,-521140,-520740,576,-576,0 +9683,chaos,-520364,-522970,-523170,-522770,2606,-2606,0 +9684,chaos,-520364,-520900,-521100,-520700,536,-536,0 +9685,chaos,-520364,-524090,-524290,-523890,3726,-3726,0 +9686,chaos,-520364,-525090,-525290,-524890,4726,-4726,0 +9687,chaos,-520364,-522400,-522600,-522200,2036,-2036,0 +9688,chaos,-520364,-519180,-519380,-518980,1184,1184,0 +9689,chaos,-520364,-519620,-519820,-519420,744,744,0 +9690,chaos,-520364,-519480,-519680,-519280,884,884,0 +9691,chaos,-520364,-520170,-520370,-519970,194,194,0.525 +9692,chaos,-520364,-516340,-516540,-516140,4024,4024,0 +9693,chaos,-520364,-515920,-516120,-515720,4444,4444,0 +9694,chaos,-520364,-517220,-517420,-517020,3144,3144,0 +9695,chaos,-520364,-519500,-519700,-519300,864,864,0 +9696,chaos,-520364,-521700,-521900,-521500,1336,-1336,0 +9697,chaos,-520364,-519030,-519230,-518830,1334,1334,0 +9698,chaos,-520364,-523530,-523730,-523330,3166,-3166,0 +9699,chaos,-520364,-518220,-518420,-518020,2144,2144,0 +9700,chaos,-520364,-519840,-520040,-519640,524,524,0 +9701,chaos,-520364,-522210,-522410,-522010,1846,-1846,0 +9702,chaos,-520364,-516420,-516620,-516220,3944,3944,0 +9703,chaos,-520364,-519310,-519510,-519110,1054,1054,0 +9704,chaos,-520364,-525270,-525470,-525070,4906,-4906,0 +9705,chaos,-520364,-520330,-520530,-520130,34,34,0.925 +9706,chaos,-520364,-524930,-525130,-524730,4566,-4566,0 +9707,chaos,-520364,-519490,-519690,-519290,874,874,0 +9708,chaos,-520364,-521580,-521780,-521380,1216,-1216,0 +9709,chaos,-520364,-522900,-523100,-522700,2536,-2536,0 +9710,chaos,-520364,-518850,-519050,-518650,1514,1514,0 +9711,chaos,-520364,-520020,-520220,-519820,344,344,0.15 +9712,chaos,-520364,-517010,-517210,-516810,3354,3354,0 +9713,chaos,-520364,-516140,-516340,-515940,4224,4224,0 +9714,chaos,-520364,-516170,-516370,-515970,4194,4194,0 +9715,chaos,-520364,-516110,-516310,-515910,4254,4254,0 +9716,chaos,-520364,-516190,-516390,-515990,4174,4174,0 +9717,chaos,-520364,-516260,-516460,-516060,4104,4104,0 +9718,chaos,-520364,-518190,-518390,-517990,2174,2174,0 +9719,chaos,-520364,-520820,-521020,-520620,456,-456,0 +9720,chaos,-520364,-521100,-521300,-520900,736,-736,0 +9721,chaos,-520364,-519490,-519690,-519290,874,874,0 +9722,chaos,-520364,-521260,-521460,-521060,896,-896,0 +9723,chaos,-520364,-518750,-518950,-518550,1614,1614,0 +9724,chaos,-520364,-517240,-517440,-517040,3124,3124,0 +9725,chaos,-520364,-519840,-520040,-519640,524,524,0 +9726,chaos,-520364,-517060,-517260,-516860,3304,3304,0 +9727,chaos,-520364,-516480,-516680,-516280,3884,3884,0 +9728,chaos,-520364,-522090,-522290,-521890,1726,-1726,0 +9729,chaos,-520364,-518520,-518720,-518320,1844,1844,0 +9730,chaos,-520364,-520710,-520910,-520510,346,-346,0.125 +9731,chaos,-520364,-520610,-520810,-520410,246,-246,0.375 +9732,chaos,-520364,-516220,-516420,-516020,4144,4144,0 +9733,chaos,-520364,-517660,-517860,-517460,2704,2704,0 +9734,chaos,-520364,-522960,-523160,-522760,2596,-2596,0 +9735,chaos,-520364,-524580,-524780,-524380,4216,-4216,0 +9736,chaos,-520364,-517410,-517610,-517210,2954,2954,0 +9737,chaos,-520364,-524080,-524280,-523880,3716,-3716,0 +9738,chaos,-520364,-522140,-522340,-521940,1776,-1776,0 +9739,chaos,-520364,-515990,-516190,-515790,4374,4374,0 +9740,chaos,-520364,-520150,-520350,-519950,214,214,0.475 +9741,chaos,-520364,-524020,-524220,-523820,3656,-3656,0 +9742,chaos,-520364,-521080,-521280,-520880,716,-716,0 +9743,chaos,-520364,-515850,-516050,-515650,4514,4514,0 +9744,chaos,-520364,-519200,-519400,-519000,1164,1164,0 +9745,chaos,-520364,-520300,-520500,-520100,64,64,0.85 +9746,chaos,-520364,-524880,-525080,-524680,4516,-4516,0 +9747,chaos,-520364,-515880,-516080,-515680,4484,4484,0 +9748,chaos,-520364,-518430,-518630,-518230,1934,1934,0 +9749,chaos,-520364,-520290,-520490,-520090,74,74,0.825 +9750,chaos,-520364,-522100,-522300,-521900,1736,-1736,0 +9751,chaos,-520364,-519710,-519910,-519510,654,654,0 +9752,chaos,-520364,-516740,-516940,-516540,3624,3624,0 +9753,chaos,-520364,-517040,-517240,-516840,3324,3324,0 +9754,chaos,-520364,-524720,-524920,-524520,4356,-4356,0 +9755,chaos,-520364,-523420,-523620,-523220,3056,-3056,0 +9756,chaos,-520364,-522750,-522950,-522550,2386,-2386,0 +9757,chaos,-520364,-518740,-518940,-518540,1624,1624,0 +9758,chaos,-520364,-518150,-518350,-517950,2214,2214,0 +9759,chaos,-520364,-525170,-525370,-524970,4806,-4806,0 +9760,chaos,-520364,-522510,-522710,-522310,2146,-2146,0 +9761,chaos,-520364,-524420,-524620,-524220,4056,-4056,0 +9762,chaos,-520364,-517180,-517380,-516980,3184,3184,0 +9763,chaos,-520364,-522470,-522670,-522270,2106,-2106,0 +9764,chaos,-520364,-516710,-516910,-516510,3654,3654,0 +9765,chaos,-520364,-524570,-524770,-524370,4206,-4206,0 +9766,chaos,-520364,-520420,-520620,-520220,56,-56,0.85 +9767,chaos,-520364,-518620,-518820,-518420,1744,1744,0 +9768,chaos,-520364,-523420,-523620,-523220,3056,-3056,0 +9769,chaos,-520364,-521850,-522050,-521650,1486,-1486,0 +9770,chaos,-520364,-522160,-522360,-521960,1796,-1796,0 +9771,chaos,-520364,-516700,-516900,-516500,3664,3664,0 +9772,chaos,-520364,-517500,-517700,-517300,2864,2864,0 +9773,chaos,-520364,-515410,-515610,-515210,4954,4954,0 +9774,chaos,-520364,-524390,-524590,-524190,4026,-4026,0 +9775,chaos,-520364,-521300,-521500,-521100,936,-936,0 +9776,chaos,-520364,-517000,-517200,-516800,3364,3364,0 +9777,chaos,-520364,-515620,-515820,-515420,4744,4744,0 +9778,chaos,-520364,-520260,-520460,-520060,104,104,0.75 +9779,chaos,-520364,-515860,-516060,-515660,4504,4504,0 +9780,chaos,-520364,-519830,-520030,-519630,534,534,0 +9781,chaos,-520364,-521480,-521680,-521280,1116,-1116,0 +9782,chaos,-520364,-522010,-522210,-521810,1646,-1646,0 +9783,chaos,-520364,-518530,-518730,-518330,1834,1834,0 +9784,chaos,-520364,-524300,-524500,-524100,3936,-3936,0 +9785,chaos,-520364,-515950,-516150,-515750,4414,4414,0 +9786,chaos,-520364,-522800,-523000,-522600,2436,-2436,0 +9787,chaos,-520364,-521800,-522000,-521600,1436,-1436,0 +9788,chaos,-520364,-522220,-522420,-522020,1856,-1856,0 +9789,chaos,-520364,-520590,-520790,-520390,226,-226,0.425 +9790,chaos,-520364,-518120,-518320,-517920,2244,2244,0 +9791,chaos,-520364,-517990,-518190,-517790,2374,2374,0 +9792,chaos,-520364,-516740,-516940,-516540,3624,3624,0 +9793,chaos,-520364,-522860,-523060,-522660,2496,-2496,0 +9794,chaos,-520364,-519760,-519960,-519560,604,604,0 +9795,chaos,-520364,-522630,-522830,-522430,2266,-2266,0 +9796,chaos,-520364,-524200,-524400,-524000,3836,-3836,0 +9797,chaos,-520364,-520960,-521160,-520760,596,-596,0 +9798,chaos,-520364,-519560,-519760,-519360,804,804,0 +9799,chaos,-520364,-521940,-522140,-521740,1576,-1576,0 +9800,chaos,-520364,-521790,-521990,-521590,1426,-1426,0 +9801,chaos,-520364,-524720,-524920,-524520,4356,-4356,0 +9802,chaos,-520364,-520810,-521010,-520610,446,-446,0 +9803,chaos,-520364,-518710,-518910,-518510,1654,1654,0 +9804,chaos,-520364,-524640,-524840,-524440,4276,-4276,0 +9805,chaos,-520364,-521470,-521670,-521270,1106,-1106,0 +9806,chaos,-520364,-519210,-519410,-519010,1154,1154,0 +9807,chaos,-520364,-517420,-517620,-517220,2944,2944,0 +9808,chaos,-520364,-515570,-515770,-515370,4794,4794,0 +9809,chaos,-520364,-519550,-519750,-519350,814,814,0 +9810,chaos,-520364,-517830,-518030,-517630,2534,2534,0 +9811,chaos,-520364,-522950,-523150,-522750,2586,-2586,0 +9812,chaos,-520364,-518250,-518450,-518050,2114,2114,0 +9813,chaos,-520364,-524750,-524950,-524550,4386,-4386,0 +9814,chaos,-520364,-516330,-516530,-516130,4034,4034,0 +9815,chaos,-520364,-516650,-516850,-516450,3714,3714,0 +9816,chaos,-520364,-522720,-522920,-522520,2356,-2356,0 +9817,chaos,-520364,-521680,-521880,-521480,1316,-1316,0 +9818,chaos,-520364,-521830,-522030,-521630,1466,-1466,0 +9819,chaos,-520364,-523100,-523300,-522900,2736,-2736,0 +9820,chaos,-520364,-517320,-517520,-517120,3044,3044,0 +9821,chaos,-520364,-515910,-516110,-515710,4454,4454,0 +9822,chaos,-520364,-519020,-519220,-518820,1344,1344,0 +9823,chaos,-520364,-523520,-523720,-523320,3156,-3156,0 +9824,chaos,-520364,-515910,-516110,-515710,4454,4454,0 +9825,chaos,-520364,-524740,-524940,-524540,4376,-4376,0 +9826,chaos,-520364,-524740,-524940,-524540,4376,-4376,0 +9827,chaos,-520364,-516110,-516310,-515910,4254,4254,0 +9828,chaos,-520364,-523330,-523530,-523130,2966,-2966,0 +9829,chaos,-520364,-518040,-518240,-517840,2324,2324,0 +9830,chaos,-520364,-520060,-520260,-519860,304,304,0.25 +9831,chaos,-520364,-520620,-520820,-520420,256,-256,0.35 +9832,chaos,-520364,-519480,-519680,-519280,884,884,0 +9833,chaos,-520364,-521780,-521980,-521580,1416,-1416,0 +9834,chaos,-520364,-518230,-518430,-518030,2134,2134,0 +9835,chaos,-520364,-520790,-520990,-520590,426,-426,0 +9836,chaos,-520364,-516520,-516720,-516320,3844,3844,0 +9837,chaos,-520364,-515880,-516080,-515680,4484,4484,0 +9838,chaos,-520364,-520820,-521020,-520620,456,-456,0 +9839,chaos,-520364,-525220,-525420,-525020,4856,-4856,0 +9840,chaos,-520364,-521330,-521530,-521130,966,-966,0 +9841,chaos,-520364,-524500,-524700,-524300,4136,-4136,0 +9842,chaos,-520364,-523440,-523640,-523240,3076,-3076,0 +9843,chaos,-520364,-523170,-523370,-522970,2806,-2806,0 +9844,chaos,-520364,-516720,-516920,-516520,3644,3644,0 +9845,chaos,-520364,-520220,-520420,-520020,144,144,0.65 +9846,chaos,-520364,-515760,-515960,-515560,4604,4604,0 +9847,chaos,-520364,-523110,-523310,-522910,2746,-2746,0 +9848,chaos,-520364,-524930,-525130,-524730,4566,-4566,0 +9849,chaos,-520364,-522230,-522430,-522030,1866,-1866,0 +9850,chaos,-520364,-520290,-520490,-520090,74,74,0.825 +9851,chaos,-520364,-516740,-516940,-516540,3624,3624,0 +9852,chaos,-520364,-521890,-522090,-521690,1526,-1526,0 +9853,chaos,-520364,-523130,-523330,-522930,2766,-2766,0 +9854,chaos,-520364,-520960,-521160,-520760,596,-596,0 +9855,chaos,-520364,-522810,-523010,-522610,2446,-2446,0 +9856,chaos,-520364,-521630,-521830,-521430,1266,-1266,0 +9857,chaos,-520364,-525140,-525340,-524940,4776,-4776,0 +9858,chaos,-520364,-515550,-515750,-515350,4814,4814,0 +9859,chaos,-520364,-515890,-516090,-515690,4474,4474,0 +9860,chaos,-520364,-521280,-521480,-521080,916,-916,0 +9861,chaos,-520364,-516060,-516260,-515860,4304,4304,0 +9862,chaos,-520364,-524070,-524270,-523870,3706,-3706,0 +9863,chaos,-520364,-520700,-520900,-520500,336,-336,0.15 +9864,chaos,-520364,-521130,-521330,-520930,766,-766,0 +9865,chaos,-520364,-515690,-515890,-515490,4674,4674,0 +9866,chaos,-520364,-521590,-521790,-521390,1226,-1226,0 +9867,chaos,-520364,-517780,-517980,-517580,2584,2584,0 +9868,chaos,-520364,-516520,-516720,-516320,3844,3844,0 +9869,chaos,-520364,-523460,-523660,-523260,3096,-3096,0 +9870,chaos,-520364,-516020,-516220,-515820,4344,4344,0 +9871,chaos,-520364,-516710,-516910,-516510,3654,3654,0 +9872,chaos,-520364,-520140,-520340,-519940,224,224,0.45 +9873,chaos,-520364,-517690,-517890,-517490,2674,2674,0 +9874,chaos,-520364,-517290,-517490,-517090,3074,3074,0 +9875,chaos,-520364,-515840,-516040,-515640,4524,4524,0 +9876,chaos,-520364,-521840,-522040,-521640,1476,-1476,0 +9877,chaos,-520364,-516460,-516660,-516260,3904,3904,0 +9878,chaos,-520364,-518240,-518440,-518040,2124,2124,0 +9879,chaos,-520364,-520380,-520580,-520180,16,-16,0.95 +9880,chaos,-520364,-519670,-519870,-519470,694,694,0 +9881,chaos,-520364,-519280,-519480,-519080,1084,1084,0 +9882,chaos,-520364,-519820,-520020,-519620,544,544,0 +9883,chaos,-520364,-522580,-522780,-522380,2216,-2216,0 +9884,chaos,-520364,-523980,-524180,-523780,3616,-3616,0 +9885,chaos,-520364,-517020,-517220,-516820,3344,3344,0 +9886,chaos,-520364,-519040,-519240,-518840,1324,1324,0 +9887,chaos,-520364,-519450,-519650,-519250,914,914,0 +9888,chaos,-520364,-517110,-517310,-516910,3254,3254,0 +9889,chaos,-520364,-521840,-522040,-521640,1476,-1476,0 +9890,chaos,-520364,-518580,-518780,-518380,1784,1784,0 +9891,chaos,-520364,-521340,-521540,-521140,976,-976,0 +9892,chaos,-520364,-524310,-524510,-524110,3946,-3946,0 +9893,chaos,-520364,-521260,-521460,-521060,896,-896,0 +9894,chaos,-520364,-521910,-522110,-521710,1546,-1546,0 +9895,chaos,-520364,-523790,-523990,-523590,3426,-3426,0 +9896,chaos,-520364,-518590,-518790,-518390,1774,1774,0 +9897,chaos,-520364,-520890,-521090,-520690,526,-526,0 +9898,chaos,-520364,-523730,-523930,-523530,3366,-3366,0 +9899,chaos,-520364,-521220,-521420,-521020,856,-856,0 +9900,chaos,-520364,-523260,-523460,-523060,2896,-2896,0 +9901,chaos,-520364,-521930,-522130,-521730,1566,-1566,0 +9902,chaos,-520364,-516380,-516580,-516180,3984,3984,0 +9903,chaos,-520364,-515830,-516030,-515630,4534,4534,0 +9904,chaos,-520364,-518880,-519080,-518680,1484,1484,0 +9905,chaos,-520364,-519030,-519230,-518830,1334,1334,0 +9906,chaos,-520364,-519520,-519720,-519320,844,844,0 +9907,chaos,-520364,-520280,-520480,-520080,84,84,0.8 +9908,chaos,-520364,-518950,-519150,-518750,1414,1414,0 +9909,chaos,-520364,-523970,-524170,-523770,3606,-3606,0 +9910,chaos,-520364,-516520,-516720,-516320,3844,3844,0 +9911,chaos,-520364,-521160,-521360,-520960,796,-796,0 +9912,chaos,-520364,-518230,-518430,-518030,2134,2134,0 +9913,chaos,-520364,-520200,-520400,-520000,164,164,0.6 +9914,chaos,-520364,-516420,-516620,-516220,3944,3944,0 +9915,chaos,-520364,-524670,-524870,-524470,4306,-4306,0 +9916,chaos,-520364,-524050,-524250,-523850,3686,-3686,0 +9917,chaos,-520364,-518210,-518410,-518010,2154,2154,0 +9918,chaos,-520364,-522290,-522490,-522090,1926,-1926,0 +9919,chaos,-520364,-516590,-516790,-516390,3774,3774,0 +9920,chaos,-520364,-518410,-518610,-518210,1954,1954,0 +9921,chaos,-520364,-524730,-524930,-524530,4366,-4366,0 +9922,chaos,-520364,-520390,-520590,-520190,26,-26,0.925 +9923,chaos,-520364,-522960,-523160,-522760,2596,-2596,0 +9924,chaos,-520364,-516690,-516890,-516490,3674,3674,0 +9925,chaos,-520364,-522550,-522750,-522350,2186,-2186,0 +9926,chaos,-520364,-523130,-523330,-522930,2766,-2766,0 +9927,chaos,-520364,-521690,-521890,-521490,1326,-1326,0 +9928,chaos,-520364,-518610,-518810,-518410,1754,1754,0 +9929,chaos,-520364,-515550,-515750,-515350,4814,4814,0 +9930,chaos,-520364,-515810,-516010,-515610,4554,4554,0 +9931,chaos,-520364,-522590,-522790,-522390,2226,-2226,0 +9932,chaos,-520364,-524900,-525100,-524700,4536,-4536,0 +9933,chaos,-520364,-524660,-524860,-524460,4296,-4296,0 +9934,chaos,-520364,-519280,-519480,-519080,1084,1084,0 +9935,chaos,-520364,-521760,-521960,-521560,1396,-1396,0 +9936,chaos,-520364,-522340,-522540,-522140,1976,-1976,0 +9937,chaos,-520364,-521260,-521460,-521060,896,-896,0 +9938,chaos,-520364,-518740,-518940,-518540,1624,1624,0 +9939,chaos,-520364,-519410,-519610,-519210,954,954,0 +9940,chaos,-520364,-520010,-520210,-519810,354,354,0.125 +9941,chaos,-520364,-523140,-523340,-522940,2776,-2776,0 +9942,chaos,-520364,-524390,-524590,-524190,4026,-4026,0 +9943,chaos,-520364,-524980,-525180,-524780,4616,-4616,0 +9944,chaos,-520364,-516130,-516330,-515930,4234,4234,0 +9945,chaos,-520364,-525000,-525200,-524800,4636,-4636,0 +9946,chaos,-520364,-519300,-519500,-519100,1064,1064,0 +9947,chaos,-520364,-515580,-515780,-515380,4784,4784,0 +9948,chaos,-520364,-515580,-515780,-515380,4784,4784,0 +9949,chaos,-520364,-519880,-520080,-519680,484,484,0 +9950,chaos,-520364,-523720,-523920,-523520,3356,-3356,0 +9951,chaos,-520364,-518960,-519160,-518760,1404,1404,0 +9952,chaos,-520364,-515580,-515780,-515380,4784,4784,0 +9953,chaos,-520364,-515470,-515670,-515270,4894,4894,0 +9954,chaos,-520364,-523950,-524150,-523750,3586,-3586,0 +9955,chaos,-520364,-520380,-520580,-520180,16,-16,0.95 +9956,chaos,-520364,-518510,-518710,-518310,1854,1854,0 +9957,chaos,-520364,-524250,-524450,-524050,3886,-3886,0 +9958,chaos,-520364,-524440,-524640,-524240,4076,-4076,0 +9959,chaos,-520364,-524210,-524410,-524010,3846,-3846,0 +9960,chaos,-520364,-516360,-516560,-516160,4004,4004,0 +9961,chaos,-520364,-522310,-522510,-522110,1946,-1946,0 +9962,chaos,-520364,-515450,-515650,-515250,4914,4914,0 +9963,chaos,-520364,-524410,-524610,-524210,4046,-4046,0 +9964,chaos,-520364,-518300,-518500,-518100,2064,2064,0 +9965,chaos,-520364,-524380,-524580,-524180,4016,-4016,0 +9966,chaos,-520364,-515570,-515770,-515370,4794,4794,0 +9967,chaos,-520364,-522640,-522840,-522440,2276,-2276,0 +9968,chaos,-520364,-522470,-522670,-522270,2106,-2106,0 +9969,chaos,-520364,-521910,-522110,-521710,1546,-1546,0 +9970,chaos,-520364,-515780,-515980,-515580,4584,4584,0 +9971,chaos,-520364,-517240,-517440,-517040,3124,3124,0 +9972,chaos,-520364,-521270,-521470,-521070,906,-906,0 +9973,chaos,-520364,-517620,-517820,-517420,2744,2744,0 +9974,chaos,-520364,-516770,-516970,-516570,3594,3594,0 +9975,chaos,-520364,-523130,-523330,-522930,2766,-2766,0 +9976,chaos,-520364,-522910,-523110,-522710,2546,-2546,0 +9977,chaos,-520364,-516230,-516430,-516030,4134,4134,0 +9978,chaos,-520364,-517080,-517280,-516880,3284,3284,0 +9979,chaos,-520364,-520140,-520340,-519940,224,224,0.45 +9980,chaos,-520364,-516000,-516200,-515800,4364,4364,0 +9981,chaos,-520364,-520130,-520330,-519930,234,234,0.425 +9982,chaos,-520364,-518590,-518790,-518390,1774,1774,0 +9983,chaos,-520364,-524130,-524330,-523930,3766,-3766,0 +9984,chaos,-520364,-515630,-515830,-515430,4734,4734,0 +9985,chaos,-520364,-522970,-523170,-522770,2606,-2606,0 +9986,chaos,-520364,-516880,-517080,-516680,3484,3484,0 +9987,chaos,-520364,-518150,-518350,-517950,2214,2214,0 +9988,chaos,-520364,-516010,-516210,-515810,4354,4354,0 +9989,chaos,-520364,-523370,-523570,-523170,3006,-3006,0 +9990,chaos,-520364,-518330,-518530,-518130,2034,2034,0 +9991,chaos,-520364,-518520,-518720,-518320,1844,1844,0 +9992,chaos,-520364,-523760,-523960,-523560,3396,-3396,0 +9993,chaos,-520364,-519290,-519490,-519090,1074,1074,0 +9994,chaos,-520364,-521240,-521440,-521040,876,-876,0 +9995,chaos,-520364,-521290,-521490,-521090,926,-926,0 +9996,chaos,-520364,-517090,-517290,-516890,3274,3274,0 +9997,chaos,-520364,-517150,-517350,-516950,3214,3214,0 +9998,chaos,-520364,-523170,-523370,-522970,2806,-2806,0 +9999,chaos,-520364,-521850,-522050,-521650,1486,-1486,0 +10000,chaos,-520364,-522610,-522810,-522410,2246,-2246,0 diff --git a/entropy/chaos-lp-uniswap-v4/mev-sim/expected_mev_bar.png b/entropy/chaos-lp-uniswap-v4/mev-sim/expected_mev_bar.png new file mode 100644 index 0000000..897f18c Binary files /dev/null and b/entropy/chaos-lp-uniswap-v4/mev-sim/expected_mev_bar.png differ diff --git a/entropy/chaos-lp-uniswap-v4/mev-sim/src/chaos.rs b/entropy/chaos-lp-uniswap-v4/mev-sim/src/chaos.rs new file mode 100644 index 0000000..aba6936 --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/mev-sim/src/chaos.rs @@ -0,0 +1,107 @@ +use alloy::sol; + +pub const MIN_TICK: i32 = -887_272; +pub const MAX_TICK: i32 = 887_272; + +sol! { + struct PoolKey { + address currency0; + address currency1; + uint24 fee; + int24 tickSpacing; + address hooks; + } + + #[sol(rpc)] + contract ChaosHook { + function getLatestTick() external view returns (int24); + function pyth() external view returns (address); + function entropy() external view returns (address); + } +} + +// Re-export the types so main.rs can do `use crate::chaos::ChaosHook;` +// pub use self::{ChaosHook, PoolKey}; + +/// Map 32 random bytes to an integer in [min_range, max_range). +pub fn map_random_number(random: [u8; 32], min_range: i32, max_range: i32) -> i32 { + assert!(max_range > min_range); + let span = (max_range - min_range) as i64; + + // Take the low 8 bytes as u64 + let mut buf = [0u8; 8]; + buf.copy_from_slice(&random[24..32]); + let r_u64 = u64::from_be_bytes(buf); + + // scale to [0, span) + let r_mod = (r_u64 % (span as u64)) as i64; + (min_range as i64 + r_mod) as i32 +} + +/// Snap a tick to the nearest multiple of spacing (rounding down). +pub fn snap_to_spacing(tick: i32, spacing: i32) -> i32 { + if spacing == 0 { + return tick; + } + let m = tick / spacing; + m * spacing +} + +/// Clamp a tick to v4’s global min/max. +pub fn clamp_tick(tick: i32) -> i32 { + if tick < MIN_TICK { + MIN_TICK + } else if tick > MAX_TICK { + MAX_TICK + } else { + tick + } +} + +/// Deterministic “normal LP” band centered on oracle tick. +pub fn compute_normal_band(oracle_tick: i32, spacing: i32, half_width_ticks: i32) -> (i32, i32) { + let lower = oracle_tick - half_width_ticks; + let upper = oracle_tick + half_width_ticks; + let lower = snap_to_spacing(clamp_tick(lower), spacing); + let upper = snap_to_spacing(clamp_tick(upper), spacing); + (lower, upper) +} + +/// Chaos LP band: random offset around oracle tick, snapped/clamped. +pub fn compute_chaos_band( + oracle_tick: i32, + spacing: i32, + rand_bytes: [u8; 32], + min_offset: i32, + max_offset: i32, + band_half_width: i32, +) -> (i32, i32, i32) { + // 1. map random → offset + let offset = map_random_number(rand_bytes, min_offset, max_offset); + + // 2. center tick = oracle + offset, then snapped/clamped + let mut center = oracle_tick + offset; + center = snap_to_spacing(clamp_tick(center), spacing); + + // 3. build band around center + let mut lower = center - band_half_width; + let mut upper = center + band_half_width; + + lower = snap_to_spacing(clamp_tick(lower), spacing); + upper = snap_to_spacing(clamp_tick(upper), spacing); + + (center, lower, upper) +} + +/// Distance (in ticks) between oracle and LP band center. +pub fn attacker_edge_ticks(oracle_tick: i32, lower: i32, upper: i32) -> i32 { + let center = (lower + upper) / 2; + (center - oracle_tick).abs() +} + +/// Length of intersection between [a1,a2] and [b1,b2] in ticks. +pub fn intersection_length(a1: i32, a2: i32, b1: i32, b2: i32) -> i32 { + let left = a1.max(b1); + let right = a2.min(b2); + if right <= left { 0 } else { right - left } +} diff --git a/entropy/chaos-lp-uniswap-v4/mev-sim/src/main.rs b/entropy/chaos-lp-uniswap-v4/mev-sim/src/main.rs new file mode 100644 index 0000000..20dc038 --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/mev-sim/src/main.rs @@ -0,0 +1,242 @@ +mod chaos; +mod plotting; + +use anyhow::Result; +use dotenvy::dotenv; +use rand::{RngCore, SeedableRng, rngs::StdRng}; +use std::{env, fs::File, io::Write, str::FromStr}; + +use alloy::{primitives::Address, providers::ProviderBuilder, signers::local::PrivateKeySigner}; + +use crate::chaos::{ + ChaosHook, attacker_edge_ticks, compute_chaos_band, compute_normal_band, intersection_length, +}; +use crate::plotting::{plot_expected_mev_bar, plot_summary_dashboard}; + +#[tokio::main] +async fn main() -> Result<()> { + env_logger::init(); + dotenv().ok(); + + // 1. Read env + let rpc_url = env::var("RPC_URL").expect("RPC_URL env var missing"); + let pk_str = env::var("DEPLOYER_PK").expect("PRIVATE_KEY env var missing"); + let chaos_hook_addr_str = + env::var("CHAOS_HOOK_ADDRESS").expect("CHAOS_HOOK_ADDRESS env var missing"); + let currency0_str = env::var("CURRENCY0_ADDRESS").expect("CURRENCY0_ADDRESS env var missing"); + let currency1_str = env::var("CURRENCY1_ADDRESS").expect("CURRENCY1_ADDRESS env var missing"); + + let signer: PrivateKeySigner = pk_str.parse()?; + let provider = ProviderBuilder::new() + .wallet(signer) + .connect(&rpc_url) + .await?; + + let chaos_addr = Address::from_str(&chaos_hook_addr_str)?; + let _currency0 = Address::from_str(¤cy0_str)?; + let _currency1 = Address::from_str(¤cy1_str)?; + + let chaos = ChaosHook::new(chaos_addr, provider.clone()); + + // ---- 2. Read-only sanity: tick, pyth, entropy ---- + let latest_tick = chaos.getLatestTick().call().await?; + let pyth_addr = chaos.pyth().call().await?; + let entropy_addr = chaos.entropy().call().await?; + + println!("ChaosHook.getLatestTick() = {}", latest_tick); + println!("ChaosHook.pyth() = {:?}", pyth_addr); + println!("ChaosHook.entropy() = {:?}", entropy_addr); + + // 3. Model parameters (same as before) + let oracle_tick: i32 = latest_tick.as_i32(); + let tick_spacing: i32 = 10; + let band_half_width: i32 = 200; + let min_offset: i32 = -5000; + let max_offset: i32 = 5000; + + let (norm_lower, norm_upper) = compute_normal_band(oracle_tick, tick_spacing, band_half_width); + let norm_edge = attacker_edge_ticks(oracle_tick, norm_lower, norm_upper); + + println!("\n--- Normal LP band ---"); + println!("oracle_tick = {}", oracle_tick); + println!("normal_lower = {}", norm_lower); + println!("normal_upper = {}", norm_upper); + println!("attacker_edge = {} ticks", norm_edge); + + // 4. A few chaos samples for debug + let mut rng_preview = StdRng::seed_from_u64(42); + println!("\n--- Chaos LP bands (few samples) ---"); + for i in 0..5 { + let mut rand_bytes = [0u8; 32]; + rng_preview.fill_bytes(&mut rand_bytes); + let (center, lower, upper) = compute_chaos_band( + oracle_tick, + tick_spacing, + rand_bytes, + min_offset, + max_offset, + band_half_width, + ); + let edge = attacker_edge_ticks(oracle_tick, lower, upper); + println!( + "sample #{i}: center={}, lower={}, upper={}, attacker_edge={}", + center, lower, upper, edge + ); + } + + // 5. CSV distribution + Monte Carlo stats + let mut file = File::create("chaos_vs_normal.csv")?; + writeln!( + file, + "id,mode,oracle_tick,center,lower,upper,attacker_edge,offset,overlap_factor" + )?; + + let attacker_lower = norm_lower; + let attacker_upper = norm_upper; + let attacker_band_len = (attacker_upper - attacker_lower) as f64; + + // normal LP (just 1 row, full overlap_factor=1.0) + writeln!( + file, + "{},{},{},{},{},{},{},{},{}", + 0, + "normal", + oracle_tick, + (norm_lower + norm_upper) / 2, + norm_lower, + norm_upper, + norm_edge, + 0, + 1.0_f64 + )?; + + let n_samples = 10_000; + let mut rng = StdRng::seed_from_u64(1337); + + let mut chaos_edges: Vec = Vec::with_capacity(n_samples); + let mut chaos_overlap_factors: Vec = Vec::with_capacity(n_samples); + + for i in 0..n_samples { + let mut rand_bytes = [0u8; 32]; + rng.fill_bytes(&mut rand_bytes); + + let (center, lower, upper) = compute_chaos_band( + oracle_tick, + tick_spacing, + rand_bytes, + min_offset, + max_offset, + band_half_width, + ); + + let offset = center - oracle_tick; + let edge = attacker_edge_ticks(oracle_tick, lower, upper); + + let overlap_ticks = + intersection_length(attacker_lower, attacker_upper, lower, upper) as f64; + let overlap_factor = if attacker_band_len > 0.0 { + overlap_ticks / attacker_band_len + } else { + 0.0 + }; + + chaos_edges.push(edge); + chaos_overlap_factors.push(overlap_factor); + + writeln!( + file, + "{},{},{},{},{},{},{},{},{}", + i + 1, + "chaos", + oracle_tick, + center, + lower, + upper, + edge, + offset, + overlap_factor + )?; + } + + println!( + "Saved chaos_vs_normal.csv with {} chaos samples.", + n_samples + ); + + // 6. Monte Carlo "expected attacker fees" (relative) + let avg_overlap: f64 = + chaos_overlap_factors.iter().copied().sum::() / chaos_overlap_factors.len() as f64; + + let normal_expected_fee = 1.0_f64; + let chaos_expected_fee = avg_overlap; + + let success_count = chaos_overlap_factors.iter().filter(|&&x| x > 0.0).count(); + let success_rate = success_count as f64 / chaos_overlap_factors.len() as f64; + + let max_overlap = chaos_overlap_factors + .iter() + .copied() + .fold(0.0_f64, f64::max); + + let min_edge = chaos_edges.iter().copied().min().unwrap_or(0); + let max_edge = chaos_edges.iter().copied().max().unwrap_or(0); + let avg_edge = chaos_edges.iter().map(|&e| e as f64).sum::() / chaos_edges.len() as f64; + + println!("\n--- Monte Carlo attacker model (relative units) ---"); + println!( + "Normal LP expected attacker factor: {:.4}", + normal_expected_fee + ); + println!( + "Chaos LP expected attacker factor: {:.4}", + chaos_expected_fee + ); + println!( + "Relative reduction in expected attacker payoff: {:.2}%", + (1.0 - chaos_expected_fee) * 100.0 + ); + println!( + "Chaos attacker_edge stats: min={} max={} avg≈{:.1} ticks", + min_edge, max_edge, avg_edge + ); + println!( + "Chaos MEV success rate (any overlap): {:.2}%", + success_rate * 100.0 + ); + println!("Chaos max single-trade overlap factor: {:.4}", max_overlap); + + println!( + "\nChaos LP vs Normal LP — MEV Resistance Test ({} simulations)", + n_samples + ); + println!("┌───────────────────────┬──────────────┬──────────────┬──────────────┐"); + println!("│ Metric │ Normal LP │ Chaos LP │ Change │"); + println!("├───────────────────────┼──────────────┼──────────────┼──────────────┤"); + println!( + "│ Avg MEV payoff │ {:>10.4}x │ {:>10.4}x │ {:>9.1}% │", + normal_expected_fee, + chaos_expected_fee, + (chaos_expected_fee / normal_expected_fee - 1.0) * 100.0 + ); + println!( + "│ MEV success rate │ {:>9.1}% │ {:>9.1}% │ {:>9.1}% │", + 100.0, + success_rate * 100.0, + (success_rate - 1.0) * 100.0 + ); + println!( + "│ Predictability │ {:>10} │ {:>10} │ │", + "High", "Chaotic" + ); + println!("└───────────────────────┴──────────────┴──────────────┴──────────────┘"); + println!("(MEV payoffs are normalized; 1.0 = baseline Normal LP.)"); + + // PNGs for the judges + plot_expected_mev_bar(normal_expected_fee, chaos_expected_fee)?; + println!("Saved expected_mev_bar.png"); + + plot_summary_dashboard(normal_expected_fee, chaos_expected_fee, success_rate)?; + println!("Saved chaos_mev_dashboard.png"); + + Ok(()) +} diff --git a/entropy/chaos-lp-uniswap-v4/mev-sim/src/plotting.rs b/entropy/chaos-lp-uniswap-v4/mev-sim/src/plotting.rs new file mode 100644 index 0000000..91a189d --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/mev-sim/src/plotting.rs @@ -0,0 +1,162 @@ +use anyhow::Result; +use plotters::prelude::*; + +/// Summary dashboard: top = expected payoff, bottom = success rate. +pub fn plot_summary_dashboard( + normal_payoff: f64, + chaos_payoff: f64, + chaos_success_rate: f64, +) -> Result<()> { + let root = BitMapBackend::new("chaos_mev_dashboard.png", (1000, 800)).into_drawing_area(); + root.fill(&WHITE)?; + + // Split vertically: top for payoff, bottom for success rate + let (upper, lower) = root.split_vertically(400); + + // ------------------------- + // Top: expected payoff bars + // ------------------------- + let mut chart1 = ChartBuilder::on(&upper) + .caption("Expected attacker payoff (normalized)", ("sans-serif", 28)) + .margin(30) + .x_label_area_size(40) + .y_label_area_size(60) + .build_cartesian_2d(0..3, 0f64..1.1)?; + + chart1 + .configure_mesh() + .x_labels(2) + .x_label_formatter(&|x| match *x { + 0 => "Normal".to_string(), + 2 => "Chaos".to_string(), + _ => "".to_string(), + }) + .y_desc("relative MEV payoff (1.0 = Normal)") + .draw()?; + + // Normal bar at [0,1] + chart1.draw_series(std::iter::once(Rectangle::new( + [(0, 0.0), (1, normal_payoff)], + BLUE.mix(0.7).filled(), + )))?; + + // Chaos bar at [2,3] + chart1.draw_series(std::iter::once(Rectangle::new( + [(2, 0.0), (3, chaos_payoff)], + RED.mix(0.7).filled(), + )))?; + + // Labels on top of bars + chart1.draw_series(std::iter::once(Text::new( + format!("{:.2}x", normal_payoff), + (0, normal_payoff + 0.05), + ("sans-serif", 18), + )))?; + chart1.draw_series(std::iter::once(Text::new( + format!("{:.3}x", chaos_payoff), + (2, chaos_payoff + 0.05), + ("sans-serif", 18), + )))?; + + // Reduction annotation + let reduction_pct = (1.0 - chaos_payoff) * 100.0; + chart1.draw_series(std::iter::once(Text::new( + format!("≈{:.1}% lower expected MEV payoff", reduction_pct), + (1, 1.02), + ("sans-serif", 18), + )))?; + + // -------------------------------- + // Bottom: success rate comparison + // -------------------------------- + let normal_success = 1.0_f64; + let chaos_success = chaos_success_rate; // already 0..1 + + let mut chart2 = ChartBuilder::on(&lower) + .caption( + "Attacker success rate (any profitable overlap)", + ("sans-serif", 28), + ) + .margin(30) + .x_label_area_size(40) + .y_label_area_size(60) + .build_cartesian_2d(0..3, 0f64..1.05)?; + + chart2 + .configure_mesh() + .x_labels(2) + .x_label_formatter(&|x| match *x { + 0 => "Normal".to_string(), + 2 => "Chaos".to_string(), + _ => "".to_string(), + }) + .y_desc("success probability") + .y_label_formatter(&|y| format!("{:.0}%", y * 100.0)) + .draw()?; + + chart2.draw_series(std::iter::once(Rectangle::new( + [(0, 0.0), (1, normal_success)], + BLUE.mix(0.7).filled(), + )))?; + + chart2.draw_series(std::iter::once(Rectangle::new( + [(2, 0.0), (3, chaos_success)], + RED.mix(0.7).filled(), + )))?; + + chart2.draw_series(std::iter::once(Text::new( + "100%", + (0, normal_success + 0.03), + ("sans-serif", 18), + )))?; + chart2.draw_series(std::iter::once(Text::new( + format!("{:.1}%", chaos_success * 100.0), + (2, chaos_success + 0.03), + ("sans-serif", 18), + )))?; + + let success_reduction_pct = (1.0 - chaos_success) * 100.0; + chart2.draw_series(std::iter::once(Text::new( + format!( + "≈{:.1}% fewer successful MEV attempts", + success_reduction_pct + ), + (1, 1.0), + ("sans-serif", 18), + )))?; + + Ok(()) +} + +/// Simple 2-bar chart (kept if you still want the extra PNG). +pub fn plot_expected_mev_bar(normal_factor: f64, chaos_factor: f64) -> Result<()> { + let root_area = BitMapBackend::new("expected_mev_bar.png", (800, 600)).into_drawing_area(); + root_area.fill(&WHITE)?; + + let ymax = normal_factor.max(chaos_factor) * 1.05; + let mut chart = ChartBuilder::on(&root_area) + .caption("Expected attacker payoff (relative)", ("sans-serif", 32)) + .margin(20) + .x_label_area_size(40) + .y_label_area_size(60) + .build_cartesian_2d(0..2, 0f64..ymax)?; + + chart + .configure_mesh() + .x_labels(2) + .x_label_formatter(&|v| match v { + 0 => "Normal".to_string(), + 1 => "Chaos".to_string(), + _ => "".to_string(), + }) + .y_desc("relative MEV payoff (1.0 = Normal)") + .draw()?; + + let data = vec![(0, normal_factor, BLUE), (1, chaos_factor, RED)]; + + chart.draw_series(data.into_iter().map(|(x, val, color)| { + Rectangle::new([(x, 0.0f64), (x + 1, val)], color.mix(0.6).filled()) + }))?; + + Ok(()) +} diff --git a/entropy/chaos-lp-uniswap-v4/package-lock.json b/entropy/chaos-lp-uniswap-v4/package-lock.json new file mode 100644 index 0000000..77a55bd --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/package-lock.json @@ -0,0 +1,374 @@ +{ + "name": "chaos-lp", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "@pythnetwork/entropy-sdk-solidity": "^2.2.1", + "@pythnetwork/pyth-sdk-solidity": "^4.3.1", + "dotenv": "^17.2.3", + "ethers": "^6.15.0" + }, + "devDependencies": { + "@types/node": "^24.10.1", + "ts-node": "^10.9.2", + "typescript": "^5.9.3" + } + }, + "node_modules/@adraffy/ens-normalize": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", + "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==", + "license": "MIT" + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@noble/curves": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", + "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.3.2" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/hashes": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@pythnetwork/entropy-sdk-solidity": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@pythnetwork/entropy-sdk-solidity/-/entropy-sdk-solidity-2.2.1.tgz", + "integrity": "sha512-vwP7uJby591PWl78nA/lFkAsy9vSNV4DdvcqHxkAZEHhcAobVqErAMFSqp6HRO/epe07WKCorT+7favHh4sCjQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=22.14.0" + } + }, + "node_modules/@pythnetwork/pyth-sdk-solidity": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@pythnetwork/pyth-sdk-solidity/-/pyth-sdk-solidity-4.3.1.tgz", + "integrity": "sha512-dAzsVDSKXS/Tbhik5Hp2kix3vDp98SlCXmputDIOkVyF4SKKnhXmIn+iGVmSQdrlF9jCFtvjBj7XYP+9wwpA4A==", + "license": "Apache-2.0", + "engines": { + "node": ">=22.14.0" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz", + "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", + "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/aes-js": { + "version": "4.0.0-beta.5", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", + "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==", + "license": "MIT" + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true, + "license": "MIT" + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dotenv": { + "version": "17.2.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.3.tgz", + "integrity": "sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/ethers": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.15.0.tgz", + "integrity": "sha512-Kf/3ZW54L4UT0pZtsY/rf+EkBU7Qi5nnhonjUb8yTXcxH3cdcWrV2cRyk0Xk/4jK6OoHhxxZHriyhje20If2hQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/ethers-io/" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@adraffy/ens-normalize": "1.10.1", + "@noble/curves": "1.2.0", + "@noble/hashes": "1.3.2", + "@types/node": "22.7.5", + "aes-js": "4.0.0-beta.5", + "tslib": "2.7.0", + "ws": "8.17.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/ethers/node_modules/@types/node": { + "version": "22.7.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz", + "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/ethers/node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "license": "MIT" + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true, + "license": "ISC" + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "dev": true, + "license": "MIT" + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true, + "license": "MIT" + }, + "node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + } + } +} diff --git a/entropy/chaos-lp-uniswap-v4/package.json b/entropy/chaos-lp-uniswap-v4/package.json new file mode 100644 index 0000000..809bf22 --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/package.json @@ -0,0 +1,16 @@ +{ + "dependencies": { + "@pythnetwork/entropy-sdk-solidity": "^2.2.1", + "@pythnetwork/pyth-sdk-solidity": "^4.3.1", + "dotenv": "^17.2.3", + "ethers": "^6.15.0" + }, + "devDependencies": { + "@types/node": "^24.10.1", + "ts-node": "^10.9.2", + "typescript": "^5.9.3" + }, + "scripts": { + "request:chaos:base": "NETWORK=base-sepolia ts-node scripts/requestChaos.ts" + } +} diff --git a/entropy/chaos-lp-uniswap-v4/scripts/DeployChaosBaseSepolia.s.sol b/entropy/chaos-lp-uniswap-v4/scripts/DeployChaosBaseSepolia.s.sol new file mode 100644 index 0000000..e907948 --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/scripts/DeployChaosBaseSepolia.s.sol @@ -0,0 +1,118 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.24; + +import "forge-std/Script.sol"; +import {PoolManager} from "v4-core/src/PoolManager.sol"; +import {IHooks} from "v4-core/src/interfaces/IHooks.sol"; +import {IPoolManager} from "v4-core/src/interfaces/IPoolManager.sol"; +import {Hooks} from "v4-core/src/libraries/Hooks.sol"; +import {TickMath} from "v4-core/src/libraries/TickMath.sol"; +import {Currency, CurrencyLibrary} from "v4-core/src/types/Currency.sol"; +import {PoolKey} from "v4-core/src/types/PoolKey.sol"; +import {HookMiner} from "v4-periphery/src/utils/HookMiner.sol"; + +import {IEntropyV2} from "@pythnetwork/entropy-sdk-solidity/IEntropyV2.sol"; +import {IPyth} from "@pythnetwork/pyth-sdk-solidity/IPyth.sol"; + +import {ChaosHookDeployer} from "../contracts/ChaosHookDeployer.sol"; +import {ChaosHook} from "../contracts/ChaosHook.sol"; +import {TestToken} from "./TestToken.sol"; + +contract DeployChaosBaseSepolia is Script { + using CurrencyLibrary for address; + + // ETH / USD feed id (same one you already use) + bytes32 constant ETH_USD_FEED_ID = + 0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace; + + // Optional override via env, otherwise use official contracts. + function _pythAddress() internal view returns (address) { + return vm.envAddress("PYTH_ADDRESS"); + } + + function _entropyAddress() internal view returns (address) { + return vm.envAddress("ENTROPY_ADDRESS"); + } + + function run() external { + vm.startBroadcast(); + address deployer = msg.sender; + + // 1. Deploy a fresh PoolManager on Base Sepolia + PoolManager poolManagerImpl = new PoolManager(deployer); + IPoolManager poolManager = IPoolManager(address(poolManagerImpl)); + + // 2. Deploy simple ERC20s as pool tokens + TestToken rawTokenA = new TestToken("Token0", "TK0", 18); + TestToken rawTokenB = new TestToken("Token1", "TK1", 18); + + // 3. Wire real Pyth + Entropy + IPyth pyth = IPyth(_pythAddress()); + IEntropyV2 entropy = IEntropyV2(_entropyAddress()); + + // 4. Deploy ChaosHook with HookMiner to satisfy hook flags + ChaosHookDeployer hookDeployer = new ChaosHookDeployer(); + + uint160 flags = uint160(Hooks.BEFORE_ADD_LIQUIDITY_FLAG); + bytes memory constructorArgs = abi.encode( + poolManager, + address(entropy), + address(pyth), + ETH_USD_FEED_ID + ); + + (address chaosAddr, bytes32 salt) = HookMiner.find( + address(hookDeployer), + flags, + type(ChaosHook).creationCode, + constructorArgs + ); + + ChaosHook chaos = hookDeployer.deploy( + salt, + poolManager, + address(entropy), + address(pyth), + ETH_USD_FEED_ID + ); + + require(address(chaos) == chaosAddr, "Chaos hook address mismatch"); + + // 5. Build PoolKey, sort currencies by address (v4 requirement) + Currency cA = Currency.wrap(address(rawTokenA)); + Currency cB = Currency.wrap(address(rawTokenB)); + Currency currency0; + Currency currency1; + if (cA < cB) { + currency0 = cA; + currency1 = cB; + } else { + currency0 = cB; + currency1 = cA; + } + + PoolKey memory key = PoolKey({ + currency0: currency0, + currency1: currency1, + fee: 3000, + tickSpacing: 10, + hooks: IHooks(address(chaos)) + }); + + // 6. Initialize pool at tick 0 on Base Sepolia + poolManager.initialize(key, TickMath.getSqrtPriceAtTick(0)); + + // 7. Serialize to deployments/base-sepolia.json + string memory root = "chaos-base-sepolia"; + vm.serializeAddress(root, "poolManager", address(poolManager)); + vm.serializeAddress(root, "token0", Currency.unwrap(currency0)); + vm.serializeAddress(root, "token1", Currency.unwrap(currency1)); + vm.serializeAddress(root, "chaosHook", address(chaos)); + vm.serializeAddress(root, "entropy", address(entropy)); + string memory json = vm.serializeAddress(root, "pyth", address(pyth)); + + vm.writeJson(json, "./deployments/base-sepolia.json"); + + vm.stopBroadcast(); + } +} diff --git a/entropy/chaos-lp-uniswap-v4/scripts/DeployChaosSystem.s.sol b/entropy/chaos-lp-uniswap-v4/scripts/DeployChaosSystem.s.sol new file mode 100644 index 0000000..41b519e --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/scripts/DeployChaosSystem.s.sol @@ -0,0 +1,115 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.24; + +import "forge-std/Script.sol"; +import {PoolManager} from "v4-core/src/PoolManager.sol"; +import {IHooks} from "v4-core/src/interfaces/IHooks.sol"; +import {IPoolManager} from "v4-core/src/interfaces/IPoolManager.sol"; +import {Hooks} from "v4-core/src/libraries/Hooks.sol"; +import {TickMath} from "v4-core/src/libraries/TickMath.sol"; +import {Currency, CurrencyLibrary} from "v4-core/src/types/Currency.sol"; +import {PoolKey} from "v4-core/src/types/PoolKey.sol"; +import {HookMiner} from "v4-periphery/src/utils/HookMiner.sol"; + +import {ChaosHookDeployer} from "../contracts/ChaosHookDeployer.sol"; +import {ChaosHook} from "../contracts/ChaosHook.sol"; +import {MockEntropy} from "../test/mocks/MockEntropy.sol"; +import {MockPyth} from "../test/mocks/MockPyth.sol"; +import {TestToken} from "./TestToken.sol"; + +contract DeployChaosSystem is Script { + using CurrencyLibrary for address; + + bytes32 constant ETH_USD_FEED_ID = + 0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace; + + function run() external { + uint256 pk = vm.envUint("DEPLOYER_PK"); + vm.startBroadcast(pk); + + // 1. Deploy PoolManager + address deployer = vm.addr(pk); + PoolManager poolManager = new PoolManager(deployer); + + // 2. Deploy test tokens + TestToken rawTokenA = new TestToken("Token0", "TK0", 18); + TestToken rawTokenB = new TestToken("Token1", "TK1", 18); + + // 3. Deploy Pyth + Entropy (local mocks for now) + MockPyth pyth = new MockPyth(); + MockEntropy entropy = new MockEntropy(); + + // Dedicated hook deployer + ChaosHookDeployer hookDeployer = new ChaosHookDeployer(); + + // 4. Deploy ChaosHook + uint160 flags = uint160(Hooks.BEFORE_ADD_LIQUIDITY_FLAG); + bytes memory constructorArgs = abi.encode( + IPoolManager(address(poolManager)), + address(entropy), + address(pyth), + ETH_USD_FEED_ID + ); + + (address chaosAddr, bytes32 salt) = HookMiner.find( + address(hookDeployer), + flags, + type(ChaosHook).creationCode, + constructorArgs + ); + + ChaosHook chaos = hookDeployer.deploy( + salt, + IPoolManager(address(poolManager)), + address(entropy), + address(pyth), + ETH_USD_FEED_ID + ); + + require(address(chaos) == chaosAddr, "Chaos hook address mismatch"); + + // Sort currencies by address (v4 requirement) + Currency cA = Currency.wrap(address(rawTokenA)); + Currency cB = Currency.wrap(address(rawTokenB)); + Currency currency0; + Currency currency1; + if (cA < cB) { + currency0 = cA; + currency1 = cB; + } else { + currency0 = cB; + currency1 = cA; + } + + // 5. Initialize a pool using this hook + PoolKey memory key = PoolKey({ + currency0: currency0, + currency1: currency1, + fee: 3000, + tickSpacing: 10, + hooks: IHooks(address(chaos)) + }); + + // mid-price at tick 0 + poolManager.initialize(key, TickMath.getSqrtPriceAtTick(0)); + + // 6. Serialize addresses to JSON + string memory root = "chaos"; + + vm.serializeAddress(root, "poolManager", address(poolManager)); + vm.serializeAddress(root, "token0", Currency.unwrap(currency0)); + vm.serializeAddress(root, "token1", Currency.unwrap(currency1)); + vm.serializeAddress(root, "chaosHook", address(chaos)); + vm.serializeAddress(root, "entropy", address(entropy)); + string memory json = vm.serializeAddress(root, "pyth", address(pyth)); + + vm.writeJson(json, "./deployments/local.json"); + + vm.stopBroadcast(); + } +} + +// export DEPLOYER_PK=0x... +// forge script script/DeployChaosSystem.s.sol \ +// --rpc-url http://localhost:8545 \ +// --broadcast -vv diff --git a/entropy/chaos-lp-uniswap-v4/scripts/TestToken.sol b/entropy/chaos-lp-uniswap-v4/scripts/TestToken.sol new file mode 100644 index 0000000..c18b37a --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/scripts/TestToken.sol @@ -0,0 +1,69 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.24; + +contract TestToken { + string public name; + string public symbol; + uint8 public immutable decimals = 18; + + uint256 public totalSupply; + mapping(address => uint256) public balanceOf; + mapping(address => mapping(address => uint256)) public allowance; + + event Transfer(address indexed from, address indexed to, uint256 value); + event Approval( + address indexed owner, + address indexed spender, + uint256 value + ); + + constructor( + string memory _name, + string memory _symbol, + uint256 initialSupply + ) { + name = _name; + symbol = _symbol; + _mint(msg.sender, initialSupply); + } + + function _mint(address to, uint256 amount) internal { + require(to != address(0), "TestToken: mint to zero"); + totalSupply += amount; + balanceOf[to] += amount; + emit Transfer(address(0), to, amount); + } + + function transfer(address to, uint256 amount) external returns (bool) { + _transfer(msg.sender, to, amount); + return true; + } + + function approve(address spender, uint256 amount) external returns (bool) { + allowance[msg.sender][spender] = amount; + emit Approval(msg.sender, spender, amount); + return true; + } + + function transferFrom( + address from, + address to, + uint256 amount + ) external returns (bool) { + uint256 allowed = allowance[from][msg.sender]; + require(allowed >= amount, "TestToken: allowance"); + if (allowed != type(uint256).max) { + allowance[from][msg.sender] = allowed - amount; + } + _transfer(from, to, amount); + return true; + } + + function _transfer(address from, address to, uint256 amount) internal { + require(to != address(0), "TestToken: transfer to zero"); + require(balanceOf[from] >= amount, "TestToken: balance"); + balanceOf[from] -= amount; + balanceOf[to] += amount; + emit Transfer(from, to, amount); + } +} diff --git a/entropy/chaos-lp-uniswap-v4/scripts/requestChaos.ts b/entropy/chaos-lp-uniswap-v4/scripts/requestChaos.ts new file mode 100644 index 0000000..dc4331d --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/scripts/requestChaos.ts @@ -0,0 +1,97 @@ +import { ethers } from "ethers"; +import fs from "fs"; +import path from "path"; +import "dotenv/config"; +import ChaosHookAbi from "../out/ChaosHook.sol/ChaosHook.json"; + +const NETWORK = process.env.NETWORK ?? "base-sepolia"; +const DEPLOYMENT_PATH = + process.env.DEPLOYMENT_PATH ?? + path.join(__dirname, "..", "deployments", `${NETWORK}.json`); + +const RPC_URL = process.env.BASE_RPC!; +const PRIVATE_KEY = process.env.PRIVATE_KEY!; +const PRICE_FEED_ID = + "0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace"; + +interface DeploymentJSON { + poolManager: string; + token0: string; + token1: string; + chaosHook: string; + entropy: string; + pyth: string; +} + +const raw = fs.readFileSync(DEPLOYMENT_PATH, "utf8"); +const jsonPool: DeploymentJSON = JSON.parse(raw); + +const CHAOS_HOOK = process.env.CHAOS_HOOK ?? jsonPool.chaosHook; + +async function main() { + console.log("🚀 Using network:", NETWORK); + console.log("📁 Deployment file:", DEPLOYMENT_PATH); + + const provider = new ethers.JsonRpcProvider(RPC_URL); + const wallet = new ethers.Wallet(PRIVATE_KEY, provider); + const chaos = new ethers.Contract(CHAOS_HOOK, ChaosHookAbi.abi, wallet); + + // 1) Fetch price updates from Hermes + const url = `https://hermes.pyth.network/v2/updates/price/latest?ids[]=${PRICE_FEED_ID}`; + const res = await fetch(url); + if (!res.ok) { + throw new Error(`Hermes fetch failed: ${res.status} ${res.statusText}`); + } + const json = await res.json(); + const data: string[] = json.binary.data.map((hex: string) => "0x" + hex); + + const pythFee = await chaos.pyth().then((pythAddr: string) => { + const pyth = new ethers.Contract( + pythAddr, + [ + "function getUpdateFee(bytes[] calldata) external view returns (uint256)", + ], + provider + ); + return pyth.getUpdateFee(data); + }); + + const entropyAddr: string = await chaos.entropy(); + const entropy = new ethers.Contract( + entropyAddr, + ["function getFeeV2() external view returns (uint128)"], + provider + ); + const entropyFee = await entropy.getFeeV2(); + + const totalFee = pythFee + entropyFee; + console.log("💰 Pyth fee:", pythFee.toString()); + console.log("🎲 Entropy fee:", entropyFee.toString()); + console.log("📦 totalFee:", totalFee.toString()); + + // poolKey must mirror what you used in the deploy script + const poolKey = { + currency0: jsonPool.token0, + currency1: jsonPool.token1, + fee: 3000, + tickSpacing: 10, + hooks: CHAOS_HOOK, + }; + + const tx = await chaos.requestChaosWithPyth( + poolKey, + data, + 60, // maxAgeSec + { value: totalFee } + ); + console.log("📨 Chaos tx:", tx.hash); + + await tx.wait(); + console.log("Chaos LP request mined"); + + console.log("✅ Chaos LP request mined on Base Sepolia!"); +} + +main().catch(console.error); + +// ts-node scripts/requestChaos.ts diff --git a/entropy/chaos-lp-uniswap-v4/tsconfig.json b/entropy/chaos-lp-uniswap-v4/tsconfig.json new file mode 100644 index 0000000..76f7b29 --- /dev/null +++ b/entropy/chaos-lp-uniswap-v4/tsconfig.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "target": "ES2020", + "module": "CommonJS", + "moduleResolution": "Node", + "esModuleInterop": true, + "resolveJsonModule": true, + "strict": true, + "skipLibCheck": true, + "types": [ + "node" + ], + "outDir": "dist" + }, + "include": [ + "scripts/**/*.ts" + ] +} \ No newline at end of file